Class PropertyDefinitionImpl
- java.lang.Object
-
- org.gcube.informationsystem.types.impl.properties.PropertyDefinitionImpl
-
- All Implemented Interfaces:
Serializable,Comparable<PropertyDefinition>,Attribute,AttributeDefinition,Element,PropertyElement,PropertyDefinition
public final class PropertyDefinitionImpl extends Object implements PropertyDefinition
The default implementation of thePropertyDefinitioninterface.- Author:
- Luca Frosini (ISTI - CNR)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.gcube.informationsystem.types.reference.properties.PropertyDefinition
PropertyDefinition.PropertyAttribute
-
-
Field Summary
-
Fields inherited from interface org.gcube.informationsystem.base.reference.Attribute
DEFAULT_VALUE_PROPERTY, DESCRIPTION_PROPERTY, MAX_PROPERTY, MIN_PROPERTY, NAME_PROPERTY, PROPERTY_TYPE_PROPERTY, REGEX_PROPERTY
-
Fields inherited from interface org.gcube.informationsystem.base.reference.AttributeDefinition
MANDATORY_PROPERTY
-
Fields inherited from interface org.gcube.informationsystem.base.reference.Element
DATETIME_PATTERN, REDACTED, TYPE_PROPERTY, UNKNOWN_USER
-
Fields inherited from interface org.gcube.informationsystem.types.reference.properties.PropertyDefinition
NAME, READ_ONLY_PROPERTY, VERSION
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedPropertyDefinitionImpl()Default constructor.PropertyDefinitionImpl(ISProperty propertyAnnotation, Method method)Constructs a new PropertyDefinitionImpl from an annotation and a method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected intcompareBounds(Number thisBound, Number otherBound)Compares two bounds by their decimal value, so that the same bound compares equal whatever Java type holds it (e.g.intcompareTo(PropertyDefinition other)booleanequals(Object obj)ObjectgetDefaultValue()Returns the default value of the attribute.StringgetDescription()Returns the description of the attribute.NumbergetMax()Returns the upper bound of the property value.NumbergetMin()Returns the lower bound of the property value.StringgetName()Returns the name of the attribute.StringgetPropertyType()Returns the property type of the attribute as a string.PropertyTypeNamegetPropertyTypeName()Gets the property type name.StringgetRegexp()Returns the regular expression used to validate the attribute's value.StringgetTypeName()Returns the name of the element's type.inthashCode()booleanisMandatory()Checks if the attribute is mandatory.booleanisReadonly()Checks if the property is read-only.voidsetDefaultValue(Object defaultValue)Sets the default value of the attribute.voidsetDescription(String description)Sets the description of the attribute.voidsetMandatory(boolean mandatory)Sets whether the attribute is mandatory.voidsetMax(Number max)Sets the upper bound of the attribute.voidsetMin(Number min)Sets the lower bound of the attribute.voidsetName(String name)Sets the name of the attribute.voidsetPropertyType(String type)Sets the property type.voidsetReadonly(boolean readonly)Sets whether the property is read-only.voidsetRegexp(String regexp)Sets the regular expression for validating the attribute's value.StringtoString()
-
-
-
Constructor Detail
-
PropertyDefinitionImpl
protected PropertyDefinitionImpl()
Default constructor.
-
PropertyDefinitionImpl
public PropertyDefinitionImpl(ISProperty propertyAnnotation, Method method)
Constructs a new PropertyDefinitionImpl from an annotation and a method.- Parameters:
propertyAnnotation- the annotationmethod- the method
-
-
Method Detail
-
getName
public String getName()
Returns the name of the attribute.- Specified by:
getNamein interfaceAttribute- Specified by:
getNamein interfacePropertyDefinition- Returns:
- The attribute's name.
-
setName
public void setName(String name)
Sets the name of the attribute.
-
getDescription
public String getDescription()
Returns the description of the attribute.- Specified by:
getDescriptionin interfaceAttribute- Specified by:
getDescriptionin interfacePropertyDefinition- Returns:
- The attribute's description.
-
setDescription
public void setDescription(String description)
Sets the description of the attribute.- Specified by:
setDescriptionin interfaceAttribute- Parameters:
description- The description to set.
-
isMandatory
public boolean isMandatory()
Checks if the attribute is mandatory.- Specified by:
isMandatoryin interfaceAttributeDefinition- Specified by:
isMandatoryin interfacePropertyDefinition- Returns:
trueif the attribute is mandatory,falseotherwise.
-
setMandatory
public void setMandatory(boolean mandatory)
Sets whether the attribute is mandatory.- Specified by:
setMandatoryin interfaceAttributeDefinition- Parameters:
mandatory-trueto make the attribute mandatory,falseotherwise.
-
isReadonly
public boolean isReadonly()
Checks if the property is read-only.- Specified by:
isReadonlyin interfacePropertyDefinition- Returns:
trueif the property is read-only,falseotherwise.
-
setReadonly
public void setReadonly(boolean readonly)
Sets whether the property is read-only.- Specified by:
setReadonlyin interfacePropertyDefinition- Parameters:
readonly-trueto make the property read-only.
-
getMax
public Number getMax()
Returns the upper bound of the property value.A decimal number is admitted only when the base type of the property is
DoubleorFloat; for every other base type the bound is an integer.- Specified by:
getMaxin interfaceAttribute- Specified by:
getMaxin interfacePropertyDefinition- Returns:
- The upper bound, or
nullif not set.
-
setMax
public void setMax(Number max)
Sets the upper bound of the attribute.
-
getMin
public Number getMin()
Returns the lower bound of the property value.A decimal number is admitted only when the base type of the property is
DoubleorFloat; for every other base type the bound is an integer.- Specified by:
getMinin interfaceAttribute- Specified by:
getMinin interfacePropertyDefinition- Returns:
- The lower bound, or
nullif not set.
-
setMin
public void setMin(Number min)
Sets the lower bound of the attribute.
-
getRegexp
public String getRegexp()
Returns the regular expression used to validate the attribute's value.- Specified by:
getRegexpin interfaceAttribute- Specified by:
getRegexpin interfacePropertyDefinition- Returns:
- The regular expression, or
nullif not set.
-
setRegexp
public void setRegexp(String regexp)
Sets the regular expression for validating the attribute's value.
-
getPropertyType
public String getPropertyType()
Returns the property type of the attribute as a string.- Specified by:
getPropertyTypein interfaceAttribute- Specified by:
getPropertyTypein interfacePropertyDefinition- Returns:
- The property type.
-
setPropertyType
public void setPropertyType(String type)
Sets the property type.- Specified by:
setPropertyTypein interfaceAttribute- Parameters:
type- the type
-
getPropertyTypeName
public PropertyTypeName getPropertyTypeName()
Gets the property type name.- Specified by:
getPropertyTypeNamein interfaceAttribute- Returns:
- the property type name
-
getDefaultValue
public Object getDefaultValue()
Returns the default value of the attribute.- Specified by:
getDefaultValuein interfaceAttribute- Specified by:
getDefaultValuein interfacePropertyDefinition- Returns:
- The default value.
-
setDefaultValue
public void setDefaultValue(Object defaultValue)
Sets the default value of the attribute.- Specified by:
setDefaultValuein interfaceAttribute- Parameters:
defaultValue- The default value to set.
-
compareBounds
protected int compareBounds(Number thisBound, Number otherBound)
Compares two bounds by their decimal value, so that the same bound compares equal whatever Java type holds it (e.g.1and1.0). An absent bound follows every present one.- Parameters:
thisBound- the first bound,nullif absentotherBound- the second bound,nullif absent- Returns:
- the result of the comparison
-
compareTo
public int compareTo(PropertyDefinition other)
- Specified by:
compareToin interfaceComparable<PropertyDefinition>
-
getTypeName
public String getTypeName()
Returns the name of the element's type. This is typically used for type identification in serialized forms.- Specified by:
getTypeNamein interfaceElement- Returns:
- The type name of the element.
-
-