Class FeatureDescription_impl

java.lang.Object
org.apache.uima.resource.metadata.impl.MetaDataObject_impl
org.apache.uima.resource.metadata.impl.FeatureDescription_impl
All Implemented Interfaces:
Serializable, Cloneable, FeatureDescription, MetaDataObject, XMLizable

public class FeatureDescription_impl extends MetaDataObject_impl implements FeatureDescription
Reference implementation of FeatureDescription. Under construction.
See Also:
  • Constructor Details

    • FeatureDescription_impl

      public FeatureDescription_impl()
      Creates a new FeatureDescription_impl with null field values.
    • FeatureDescription_impl

      public FeatureDescription_impl(String aName, String aDescription, String aRangeTypeName)
      Creates a new FeatureDescription_impl with the specified field values.
      Parameters:
      aName - name of the feature
      aDescription - verbose description of the feature
      aRangeTypeName - name of the feature's range type
    • FeatureDescription_impl

      public FeatureDescription_impl(String aName, String aDescription, String aRangeTypeName, String aElementTypeName, Boolean aMultipleReferencesAllowed)
      Creates a new FeatureDescription_impl with the specified field values. This version is used for array or list valued features, which may have additional attributes.
      Parameters:
      aName - name of the feature
      aDescription - verbose description of the feature
      aRangeTypeName - name of the feature's range type
      aElementTypeName - type of element expected to be contained in the array or list
      aMultipleReferencesAllowed - whether an array or list that's assigned to this feature can also be referenced from another feature. This is a Boolean object so that the null value can be used to represent the case where the user has not specified a value.
  • Method Details

    • getName

      public String getName()
      Description copied from interface: FeatureDescription
      Gets the name of this Feature.
      Specified by:
      getName in interface FeatureDescription
      Returns:
      the name of this Feature
      See Also:
    • setName

      public void setName(String aName)
      Description copied from interface: FeatureDescription
      Sets the name of this Feature.
      Specified by:
      setName in interface FeatureDescription
      Parameters:
      aName - the name of this Feature
      See Also:
    • getDescription

      public String getDescription()
      Description copied from interface: FeatureDescription
      Gets the verbose description of this Feature.
      Specified by:
      getDescription in interface FeatureDescription
      Returns:
      the description of this Feature
      See Also:
    • setDescription

      public void setDescription(String aDescription)
      Description copied from interface: FeatureDescription
      Sets the verbose description of this Feature.
      Specified by:
      setDescription in interface FeatureDescription
      Parameters:
      aDescription - the description of this Feature
      See Also:
    • getRangeTypeName

      public String getRangeTypeName()
      Description copied from interface: FeatureDescription
      Gets the name of the range Type of this Feature.
      Specified by:
      getRangeTypeName in interface FeatureDescription
      Returns:
      the name of the range Type of this Feature
      See Also:
    • setRangeTypeName

      public void setRangeTypeName(String aTypeName)
      Description copied from interface: FeatureDescription
      Sets the name of the range Type of this Feature.
      Specified by:
      setRangeTypeName in interface FeatureDescription
      Parameters:
      aTypeName - the name of the range Type of this Feature
      See Also:
    • getElementType

      public String getElementType()
      Description copied from interface: FeatureDescription
      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.
      Specified by:
      getElementType in interface FeatureDescription
      Returns:
      the expected element type of an array or list feature, null if there is no restriction.
    • getMultipleReferencesAllowed

      public Boolean getMultipleReferencesAllowed()
      Description copied from interface: FeatureDescription
      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.

      Specified by:
      getMultipleReferencesAllowed in interface FeatureDescription
      Returns:
      true if multiple references to an array or list are allowed, false if not.
    • setElementType

      public void setElementType(String aElementType)
      Description copied from interface: FeatureDescription
      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.
      Specified by:
      setElementType in interface FeatureDescription
      Parameters:
      aElementType - the expected element type of an array or list feature, null if there is no restriction.
    • setMultipleReferencesAllowed

      public void setMultipleReferencesAllowed(Boolean aAllowed)
      Description copied from interface: FeatureDescription
      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.

      Specified by:
      setMultipleReferencesAllowed in interface FeatureDescription
      Parameters:
      aAllowed - true if multiple references to an array or list are allowed, false if not.
    • getXmlizationInfo

      protected XmlizationInfo getXmlizationInfo()
      Description copied from class: MetaDataObject_impl
      To be implemented by subclasses to return information describing how to represent this object in XML.
      Specified by:
      getXmlizationInfo in class MetaDataObject_impl
      Returns:
      information defining this object's XML representation