Interface PropertyType
-
- All Superinterfaces:
Element,IdentifiableElement,PropertyElement,Serializable,Type
- All Known Implementing Classes:
PropertyTypeImpl
@TypeMetadata(name="PropertyType", description="This type provides information for any PropertyType", version="1.0.0") @Change(version="1.0.0", description="First Version") public interface PropertyType extends PropertyElement, Type
Defines the type of aProperty.- Author:
- Luca Frosini (ISTI - CNR)
-
-
Field Summary
Fields Modifier and Type Field Description static StringNAMEThe name of the PropertyType.-
Fields inherited from interface org.gcube.informationsystem.base.reference.Element
DATETIME_PATTERN, TYPE_PROPERTY
-
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, NAME_PROPERTY, PROPERTIES_PROPERTY, VERSION_PROPERTY
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description StringgetDescription()Returns the description of the type.Set<String>getExtendedTypes()Returns the set of types that this type extends.UUIDgetID()Returns the unique identifier (UUID) of the element.MetadatagetMetadata()Returns the metadata associated with the element.StringgetName()Returns the name of the type.Set<PropertyDefinition>getProperties()Returns the set of properties defined by this type.booleanisAbstract()Checks if the type is abstract.voidsetID(UUID uuid)Sets the unique identifier (UUID) for the element.voidsetMetadata(Metadata metadata)Sets the metadata for the element.-
Methods inherited from interface org.gcube.informationsystem.base.reference.Element
getTypeName
-
Methods inherited from interface org.gcube.informationsystem.types.reference.Type
getAccessType, getChangelog, getChangelogWithVersionAsString, getVersion, getVersionAsString, isFinal
-
-
-
-
Field Detail
-
NAME
static final String NAME
The name of the PropertyType.- See Also:
- Constant Field Values
-
-
Method Detail
-
getID
@ISProperty(name="id", description="This UUID is be used to identify the instance univocally.", readonly=true, mandatory=true, nullable=false) UUID getID()
Returns the unique identifier (UUID) of the element.- Specified by:
getIDin interfaceIdentifiableElement- Specified by:
getIDin interfaceType- Returns:
- The
UUIDof the element.
-
setID
void setID(UUID uuid)
Sets the unique identifier (UUID) for the element.- Specified by:
setIDin interfaceIdentifiableElement- Specified by:
setIDin interfaceType- Parameters:
uuid- TheUUIDto set.
-
getMetadata
@ISProperty(name="metadata", mandatory=true, nullable=false, description="Metadata associated with the instance that is automatically created/updated by the system.") Metadata getMetadata()
Returns the metadata associated with the element.The metadata is included in JSON serialization only if it is not null.
- Specified by:
getMetadatain interfaceIdentifiableElement- Specified by:
getMetadatain interfaceType- Returns:
- The
Metadataof the element, ornullif none is set.
-
setMetadata
void setMetadata(Metadata metadata)
Sets the metadata for the element.- Specified by:
setMetadatain interfaceIdentifiableElement- Specified by:
setMetadatain interfaceType- Parameters:
metadata- TheMetadatato associate with the element.
-
getName
@ISProperty(name="name", readonly=true, mandatory=true, nullable=false) String getName()
Returns the name of the type.
-
getDescription
@ISProperty(name="description", readonly=false, mandatory=true, nullable=false) String getDescription()
Returns the description of the type.- Specified by:
getDescriptionin interfaceType- Returns:
- The type description.
-
isAbstract
@ISProperty(name="abstract", readonly=true, mandatory=true, nullable=false) 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, nullable=false) Set<String> getExtendedTypes()
Returns the set of types that this type extends.- Specified by:
getExtendedTypesin interfaceType- Returns:
- A set of parent type names.
-
getProperties
@ISProperty(name="properties", readonly=false, mandatory=true, nullable=false) Set<PropertyDefinition> getProperties()
Returns the set of properties defined by this type.- Specified by:
getPropertiesin interfaceType- Returns:
- A set of
PropertyDefinitions.
-
-