/** * */ package ecologylab.bigsemantics.metadata.builtins.old; import ecologylab.bigsemantics.metadata.Metadata; import ecologylab.bigsemantics.metadata.builtins.Document; import ecologylab.bigsemantics.metadata.scalar.MetadataParsedURL; import ecologylab.bigsemantics.metadata.scalar.MetadataString; import ecologylab.bigsemantics.metametadata.MetaMetadataCompositeField; import ecologylab.net.ParsedURL; import ecologylab.serialization.annotations.Hint; import ecologylab.serialization.annotations.simpl_hints; import ecologylab.serialization.annotations.simpl_inherit; import ecologylab.serialization.annotations.simpl_scalar; import ecologylab.serialization.types.element.IMappable; /** * This class represents a linked nested object in a metadata reference graph. * The object will be resolved for presentation to the user as a linked entity, * such as in InContextMetadata. * * @author andruid */ @simpl_inherit public class Entity<D extends Document> extends Metadata implements IMappable<ParsedURL> { @simpl_scalar @simpl_hints(Hint.XML_LEAF) MetadataString gist; @simpl_scalar @simpl_hints(Hint.XML_LEAF) MetadataParsedURL location; D linkedDocument; /** * */ public Entity() { } /** * @param metaMetadata */ public Entity(MetaMetadataCompositeField metaMetadata) { super(metaMetadata); // TODO Auto-generated constructor stub } public ParsedURL key() { return location != null ? location.getValue() : null; } /** * @return the linkedDocument */ public D getLinkedDocument() { return linkedDocument; } public String getGist() { return gist == null ? null : gist.getValue(); } public void setGist(MetadataString gist) { this.gist = gist; } public MetadataParsedURL getEntityLocation() { return location; } }