Class SchemaAttribute

  • All Implemented Interfaces:
    Serializable

    public class SchemaAttribute
    extends SchemaElement
    SchemaAttribute describes a single attribute within a schema. The attribute has a name, order in the schema and cardinality. Its type is a SchemaType (such as StructSchemaType or PrimitiveSchemaType).
    See Also:
    Serialized Form
    • Field Detail

      • elementPosition

        protected int elementPosition
      • cardinality

        protected String cardinality
      • minCardinality

        protected int minCardinality
      • maxCardinality

        protected int maxCardinality
      • allowsDuplicateValues

        protected boolean allowsDuplicateValues
      • orderedValues

        protected boolean orderedValues
      • defaultValueOverride

        protected String defaultValueOverride
      • minimumLength

        protected int minimumLength
      • length

        protected int length
      • precision

        protected int precision
      • isNullable

        protected boolean isNullable
      • attributeType

        protected SchemaType attributeType
      • nativeJavaClass

        protected String nativeJavaClass
    • Constructor Detail

      • SchemaAttribute

        public SchemaAttribute()
        Default constructor
      • SchemaAttribute

        public SchemaAttribute​(SchemaAttribute template)
        Copy/clone constructor.
        Parameters:
        template - template schema attribute to copy.
    • Method Detail

      • cloneSchemaElement

        public SchemaElement cloneSchemaElement()
        Return a clone of this schema element. This method is needed because schema element is abstract.
        Specified by:
        cloneSchemaElement in class SchemaElement
        Returns:
        Clone of subclass.
      • getAttributeName

        @Deprecated
        public String getAttributeName()
        Deprecated.
        Return the name of this schema attribute. This value is deprecated in favour of displayName.
        Returns:
        String attribute name
      • setAttributeName

        @Deprecated
        public void setAttributeName​(String attributeName)
        Deprecated.
        Set up the name of this schema attribute. This value is deprecated in favour of displayName.
        Parameters:
        attributeName - String attribute name
      • getElementPosition

        public int getElementPosition()
        Return the position of this schema attribute in its parent schema.
        Returns:
        int position in schema - 0 means first
      • setElementPosition

        public void setElementPosition​(int elementPosition)
        Set up the position of this schema attribute in its parent schema.
        Parameters:
        elementPosition - int position in schema - 0 means first
      • getCategory

        public SchemaAttributeCategory getCategory()
        Return the category of the schema attribute.
        Returns:
        enum SchemaAttributeCategory
      • setCategory

        public void setCategory​(SchemaAttributeCategory category)
        Set up the category of the schema attribute.
        Parameters:
        category - enum SchemaAttributeCategory
      • getCardinality

        public String getCardinality()
        Return the display version of the cardinality defined for this schema attribute. There is a deprecated value that many mean this value is set explicitly. Otherwise it is manufactured from the min and max values.
        Returns:
        String cardinality defined for this schema attribute.
      • setCardinality

        public void setCardinality​(String cardinality)
        Set up the display version of the cardinality defined for this schema attribute.
        Parameters:
        cardinality - String cardinality defined for this schema attribute.
      • getMinCardinality

        public int getMinCardinality()
        Return this minimum number of instances allowed for this attribute.
        Returns:
        int
      • setMinCardinality

        public void setMinCardinality​(int minCardinality)
        Set up the minimum number of instances allowed for this attribute.
        Parameters:
        minCardinality - int
      • getMaxCardinality

        public int getMaxCardinality()
        Return the maximum number of instances allowed for this attribute.
        Returns:
        int (-1 means infinite)
      • setMaxCardinality

        public void setMaxCardinality​(int maxCardinality)
        Set up the maximum number of instances allowed for this attribute.
        Parameters:
        maxCardinality - int (-1 means infinite)
      • getAllowsDuplicateValues

        public boolean getAllowsDuplicateValues()
        Return whether the same value can be used by more than one instance of this attribute.
        Returns:
        boolean flag
      • setAllowsDuplicateValues

        public void setAllowsDuplicateValues​(boolean allowsDuplicateValues)
        Set up whether the same value can be used by more than one instance of this attribute.
        Parameters:
        allowsDuplicateValues - boolean flag
      • getOrderedValues

        public boolean getOrderedValues()
        Return whether the attribute instances are arranged in an order.
        Returns:
        boolean flag
      • setOrderedValues

        public void setOrderedValues​(boolean orderedValues)
        Set up whether the attribute instances are arranged in an order.
        Parameters:
        orderedValues - boolean flag
      • getSortOrder

        public DataItemSortOrder getSortOrder()
        Return the order that the attribute instances are arranged in - if any.
        Returns:
        DataItemSortOrder enum
      • setSortOrder

        public void setSortOrder​(DataItemSortOrder sortOrder)
        Set up the order that the attribute instances are arranged in - if any.
        Parameters:
        sortOrder - DataItemSortOrder enum
      • getMinimumLength

        public int getMinimumLength()
        Return the minimum length of the data.
        Returns:
        int
      • setMinimumLength

        public void setMinimumLength​(int minimumLength)
        Set up the minimum length of the data.
        Parameters:
        minimumLength - int
      • getLength

        public int getLength()
        Return the length of the data field.
        Returns:
        int
      • setLength

        public void setLength​(int length)
        Set up the length of the data field.
        Parameters:
        length - int
      • getPrecision

        public int getPrecision()
        Return the number of significant digits to the right of decimal point.
        Returns:
        int
      • setPrecision

        public void setPrecision​(int precision)
        Set up the number of significant digits to the right of decimal point.
        Parameters:
        precision - int
      • getIsNullable

        public boolean getIsNullable()
        Return whether the field is nullable or not.
        Returns:
        boolean
      • setIsNullable

        public void setIsNullable​(boolean nullable)
        Set up whether the field is nullable or not.
        Parameters:
        nullable - boolean
      • getDefaultValueOverride

        public String getDefaultValueOverride()
        Return any default value for this attribute that would override the default defined in the schema element for this attribute's type (note only used is type is primitive).
        Returns:
        String default value override
      • setDefaultValueOverride

        public void setDefaultValueOverride​(String defaultValueOverride)
        Set up any default value for this attribute that would override the default defined in the schema element for this attribute's type (note only used is type is primitive).
        Parameters:
        defaultValueOverride - String default value override
      • getAttributeType

        public SchemaType getAttributeType()
        Return the SchemaType that relates to the type of this attribute.
        Returns:
        SchemaType
      • setAttributeType

        public void setAttributeType​(SchemaType attributeType)
        Set up the SchemaType that relates to the type of this attribute.
        Parameters:
        attributeType - SchemaType
      • getAttributeRelationships

        public List<SchemaAttributeRelationship> getAttributeRelationships()
        Return any relationships to other schema attributes.
        Returns:
        list of attribute relationships
      • setAttributeRelationships

        public void setAttributeRelationships​(List<SchemaAttributeRelationship> attributeRelationships)
        Set up any relationships to other schema attributes.
        Parameters:
        attributeRelationships - list of attribute relationships
      • getNativeJavaClass

        public String getNativeJavaClass()
        Return the name of the Java class to use to represent this type.
        Returns:
        fully qualified Java class name
      • setNativeJavaClass

        public void setNativeJavaClass​(String nativeJavaClass)
        Set up the name of the Java class to use to represent this type.
        Parameters:
        nativeJavaClass - fully qualified Java class name
      • getAliases

        public List<String> getAliases()
        Return a list of alternative names for the attribute.
        Returns:
        list of names
      • setAliases

        public void setAliases​(List<String> aliases)
        Set up a list of alternative names for the attribute.
        Parameters:
        aliases - list of names
      • toString

        public String toString()
        Standard toString method.
        Overrides:
        toString in class SchemaElement
        Returns:
        print out of variables in a JSON-style
      • equals

        public boolean equals​(Object objectToCompare)
        Compare the values of the supplied object with those stored in the current object.
        Overrides:
        equals in class SchemaElement
        Parameters:
        objectToCompare - supplied object
        Returns:
        boolean result of comparison
      • hashCode

        public int hashCode()
        Return a number that represents the contents of this object.
        Overrides:
        hashCode in class SchemaElement
        Returns:
        int