org.apache.uima.resource.metadata.impl

## 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:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.uima.resource.metadata.impl.MetaDataObject_impl

      `MetaDataObject_impl.MetaDataAttr, MetaDataObject_impl.SerialContext, MetaDataObject_impl.Serializer`

  - ### Field Summary

    - ### Fields inherited from class org.apache.uima.resource.metadata.impl.MetaDataObject_impl

      `serialContext`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `FeatureDescription_impl()` Creates a new FeatureDescription_impl with null field values.
    `FeatureDescription_impl(String aName, String aDescription, String aRangeTypeName)` Creates a new FeatureDescription_impl with the specified field values.
    `FeatureDescription_impl(String aName, String aDescription, String aRangeTypeName, String aElementTypeName, Boolean aMultipleReferencesAllowed)` Creates a new FeatureDescription_impl with the specified field values.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getDescription()` Gets the verbose description of this Feature.
    `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.
    `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.
    `String` | `getName()` Gets the name of this Feature.
    `String` | `getRangeTypeName()` Gets the name of the range Type of this Feature.
    `protected XmlizationInfo` | `getXmlizationInfo()` To be implemented by subclasses to return information describing how to represent this object in XML.
    `void` | `setDescription(String aDescription)` Sets the verbose description of this Feature.
    `void` | `setElementType(String aElementType)` For a multi-valued (array or list) feature, sets the expected type of the elements of that array or list.
    `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.
    `void` | `setName(String aName)` Sets the name of this Feature.
    `void` | `setRangeTypeName(String aTypeName)` Sets the name of the range Type of this Feature.

    - ### Methods inherited from class org.apache.uima.resource.metadata.impl.MetaDataObject_impl

      `buildFromXMLElement, buildFromXMLElement, clone, equals, getAdditionalAttributes, getAttributeClass, getAttributeValue, getInfoset, getMatchingNode, getPropertyDescriptors, getPropertyXmlInfo, getRelativePathBase, getSerialContext, getSourceUrl, getSourceUrlString, getWrapperClass, getXMLAttributes, hashCode, isModifiable, listAttributes, readArrayPropertyValueFromXMLElement, readMapPropertyFromXml, readPropertyValueFromXMLElement, readUnknownPropertyValueFromXMLElement, resolveSettings, setAttributeValue, setInfoset, setSourceUrl, setSourceUrlIfNull, toString, toXML, toXML, toXML, toXML, valueIsNullOrEmptyArray, writeArrayPropertyAsElement, writeMapPropertyToXml, writePropertyAsElement`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.uima.resource.metadata.MetaDataObject

      `clone, equals, getAttributeValue, getSourceUrl, getSourceUrlString, isModifiable, listAttributes, setAttributeValue, setSourceUrl`

    - ### Methods inherited from interface org.apache.uima.util.XMLizable

      `buildFromXMLElement, buildFromXMLElement, toXML, toXML, toXML, toXML`

- - ### Constructor Detail

    - #### 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 Detail

    - #### 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:
        `FeatureDescription.getName()`

    - #### 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:
        `FeatureDescription.setName(String)`

    - #### 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:
        `FeatureDescription.getDescription()`

    - #### 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:
        `FeatureDescription.setDescription(java.lang.String)`

    - #### 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:
        `FeatureDescription.getRangeTypeName()`

    - #### 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:
        `FeatureDescription.setRangeTypeName(String)`

    - #### 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

Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.