Interface FeatureDescription

All Superinterfaces:
Cloneable, MetaDataObject, Serializable, XMLizable
All Known Implementing Classes:
FeatureDescription_impl

public interface FeatureDescription extends MetaDataObject
A description of a CAS feature. This implements MetaDataObject, which implements XMLizable, so it can be serialized to and deserialized from an XML element.
  • Method Details

    • getName

      String getName()
      Gets the name of this Feature.
      Returns:
      the name of this Feature
    • setName

      void setName(String aName)
      Sets the name of this Feature.
      Parameters:
      aName - the name of this Feature
    • getDescription

      String getDescription()
      Gets the verbose description of this Feature.
      Returns:
      the description of this Feature
    • setDescription

      void setDescription(String aDescription)
      Sets the verbose description of this Feature.
      Parameters:
      aDescription - the description of this Feature
    • getRangeTypeName

      String getRangeTypeName()
      Gets the name of the range Type of this Feature.
      Returns:
      the name of the range Type of this Feature
    • setRangeTypeName

      void setRangeTypeName(String aTypeName)
      Sets the name of the range Type of this Feature.
      Parameters:
      aTypeName - the name of the range Type of this Feature
    • getElementType

      String getElementType()
      For a feature with a range type that is an array or list, gets the expected type of the elements of that array or list. This is optional; if omitted the array or list can contain any type. There is currently no guarantee that the framework will enforce this type restriction. This property should not be set for features whose range type is not an array or list.
      Returns:
      the expected element type of an array or list feature, null if there is no restriction.
    • setElementType

      void setElementType(String aElementType)
      For a multi-valued (array or list) feature, sets the expected type of the elements of that array or list. This is optional; if omitted the array or list can contain any type. There is currently no guarantee that the framework will enforce this type restriction. This property should not be set for features whose range type is not an array or list.
      Parameters:
      aElementType - the expected element type of an array or list feature, null if there is no restriction.
    • getMultipleReferencesAllowed

      Boolean getMultipleReferencesAllowed()
      For a feature with a range type that is an array or list, gets whether value of the feature may also be referenced from another feature elsewhere in the CAS.

      This returns a Boolean object so that we can distinguish whether the descriptor contained no setting (null) versus an explicit setting of false. We want to preserve this if the descriptor is written out again.

      Setting this to false (the default) indicates that this feature has exclusive ownership of the array or list, so changes to the array or list are localized. Setting this to true indicates that the array or list may be shared, so changes to it may affect other objects in the CAS.

      There is currently no guarantee that the framework will enforce this restriction. However, this setting may affect how the CAS is serialized.

      This property should always be null for features whose range type is not an array or list.

      Returns:
      true if multiple references to an array or list are allowed, false if not.
    • setMultipleReferencesAllowed

      void setMultipleReferencesAllowed(Boolean aAllowed)
      For a feature with a range type that is an array or list, sets whether value of the feature may also be referenced from another feature elsewhere in the CAS.

      This takes a Boolean object so that we can distinguish whether the descriptor contained no setting (null) versus an explicit setting of false. We want to preserve this if the descriptor is written out again.

      Setting this to false (the default) indicates that this feature has exclusive ownership of the array or list, so changes to the array or list are localized. Setting this to true indicates that the array or list may be shared, so changes to it may affect other objects in the CAS.

      There is currently no guarantee that the framework will enforce this restriction. However, this setting may affect how the CAS is serialized.

      This property should never be set for features whose range type is not an array or list.

      Parameters:
      aAllowed - true if multiple references to an array or list are allowed, false if not.