Entity.java
package au.com.mountainpass.hyperstate.core.entities;
import java.net.URI;
import java.net.URISyntaxException;
import org.springframework.core.ParameterizedTypeReference;
import com.fasterxml.jackson.annotation.JsonIgnore;
import au.com.mountainpass.hyperstate.core.Labelled;
public abstract class Entity extends Labelled {
public Entity() {
}
public Entity(final Entity entity) {
super(entity);
}
public Entity(final String label, final String... natures) {
super(label, natures);
}
public abstract URI getAddress() throws URISyntaxException;
public abstract <K, T extends EntityWrapper<K>> T reload(Class<T> type);
public abstract <K, T extends EntityWrapper<K>> T resolve(Class<T> type);
public abstract <K, T extends EntityWrapper<K>> T resolve(ParameterizedTypeReference<T> type);
@JsonIgnore
public abstract LinkedEntity toLinkedEntity();
}