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:
  • Field Details

    • 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
    • sortOrder

      protected DataItemSortOrder sortOrder
    • minimumLength

      protected int minimumLength
    • length

      protected int length
    • precision

      protected int precision
    • significantDigits

      protected int significantDigits
    • isNullable

      protected boolean isNullable
    • attributeType

      protected SchemaType attributeType
    • attributeRelationships

      protected List<SchemaAttributeRelationship> attributeRelationships
    • nativeJavaClass

      protected String nativeJavaClass
    • aliases

      protected List<String> aliases
  • Constructor Details

    • SchemaAttribute

      public SchemaAttribute()
      Default constructor
    • SchemaAttribute

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

    • 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
    • getSignificantDigits

      public int getSignificantDigits()
      Return the number of significant digits before the decimal point (zero means it is an integer).
      Returns:
      int
    • setSignificantDigits

      public void setSignificantDigits(int significantDigits)
      Set up the number of significant digits before the decimal point (zero means it is an integer).
      Parameters:
      significantDigits - 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