Interface EntitySchema
-
- All Superinterfaces:
Element,EntityElement,IdentifiableElement,Serializable,Type
- All Known Subinterfaces:
FacetSchema,ResourceSchema
- All Known Implementing Classes:
EntitySchemaImpl,FacetSchemaImpl,ResourceSchemaImpl
@TypeMetadata(name="EntitySchema", description="The base type for all entity type definitions in the Information System model, specializing Type for the entity-type family (FacetSchema and ResourceSchema).", version="1.0.0") @Change(version="1.0.0", description="First Version") public interface EntitySchema extends Type, EntityElement
The base interface for all entity type definitions.- Author:
- Luca Frosini (ISTI - CNR)
-
-
Field Summary
Fields Modifier and Type Field Description static StringNAMEThe name of the EntitySchema.-
Fields inherited from interface org.gcube.informationsystem.base.reference.Element
DATETIME_PATTERN, REDACTED, TYPE_PROPERTY, UNKNOWN_USER
-
Fields inherited from interface org.gcube.informationsystem.base.reference.IdentifiableElement
ID_PROPERTY, METADATA_PROPERTY
-
Fields inherited from interface org.gcube.informationsystem.types.reference.Type
ABSTRACT_PROPERTY, CHANGELOG_PROPERTY, DESCRIPTION_PROPERTY, EXTENDED_TYPES_PROPERTY, FINAL_PROPERTY, LOCKED_PROPERTY, NAME_PROPERTY, NAME_REGEX, PROPERTIES_PROPERTY, VERSION_PROPERTY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StringgetDescription()Returns the description of the type.List<String>getExtendedTypes()Returns the types that this type extends.StringgetName()Returns the name of the type.booleanisAbstract()Checks if the type is abstract.-
Methods inherited from interface org.gcube.informationsystem.base.reference.Element
getTypeName
-
Methods inherited from interface org.gcube.informationsystem.base.reference.entities.EntityElement
getID, getMetadata, setID, setMetadata
-
Methods inherited from interface org.gcube.informationsystem.types.reference.Type
getAccessType, getAdditionalProperties, getChangelog, getChangelogWithVersionAsString, getID, getMetadata, getProperties, getVersion, getVersionAsString, isFinal, isLocked, setAdditionalProperty, setExtendedTypes, setID, setLocked, setMetadata
-
-
-
-
Field Detail
-
NAME
static final String NAME
The name of the EntitySchema.- See Also:
- Constant Field Values
-
-
Method Detail
-
getName
@ISProperty(name="name", readonly=true, mandatory=true) String getName()
Returns the name of the type.
-
getDescription
@ISProperty(name="description", readonly=false, mandatory=true) String getDescription()
Returns the description of the type.- Specified by:
getDescriptionin interfaceType- Returns:
- The type description.
-
isAbstract
@ISProperty(name="abstract", mandatory=true) boolean isAbstract()
Checks if the type is abstract.- Specified by:
isAbstractin interfaceType- Returns:
trueif the type is abstract,falseotherwise.
-
getExtendedTypes
@ISProperty(name="extendedTypes", readonly=true, mandatory=true) List<String> getExtendedTypes()
Returns the types that this type extends.A
Listbecause the order carries meaning: it is the declaration order of the direct parents -- the local precedence order C3 linearization requires -- and it must survive serialization and persistence unchanged. ASetwould map to an unordered store and lose it.- Specified by:
getExtendedTypesin interfaceType- Returns:
- The parent type names, in declaration order.
-
-