Package org.apache.uima.cas

# Interface Feature

All Superinterfaces:
  `Comparable<Feature>`

All Known Implementing Classes:
  `FeatureImpl`, `FeatureImpl_jcas_only`

public interface Feature extends Comparable<Feature>
The interface that describes features in the type system.

Feature short or base names are type system identifiers. The (fully) qualified name of a feature is the name of the type it is defined on, followed by a colon, followed by the its short name. For example, the qualified name of the Annotation begin feature is `uima.tcas.Annotation:begin`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Type`
  `getDomain()`
  Get the domain type for this feature.
  `String`
  `getName()`
  Get the qualified name for this feature.
  `Type`
  `getRange()`
  Get the range type for this feature.
  `String`
  `getShortName()`
  Get the unqualified, short name of this feature.
  `boolean`
  `isMultipleReferencesAllowed()`
  Checks if there can be multiple references to values of this feature.

  ### Methods inherited from interface java.lang.Comparable

  `compareTo`

- ## Method Details

  - ### getDomain

    Type getDomain()
    Get the domain type for this feature. The domain is the type which defines this feature.
    Returns:
      The domain type. This can not be `null`.

  - ### getRange

    Type getRange()
    Get the range type for this feature. The range defines the type of the feature value.
    Returns:
      The range type. This can not be `null`.

  - ### getName

    String getName()
    Get the qualified name for this feature.
    Returns:
      The name.

  - ### getShortName

    String getShortName()
    Get the unqualified, short name of this feature.
    Returns:
      The short name.

  - ### isMultipleReferencesAllowed

    boolean isMultipleReferencesAllowed()
    Checks if there can be multiple references to values of this feature. This is only meaningful for array-valued or list-values features.

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

    Returns:
      `true` iff the value type of this feature is an array or list and has been declared to allow multiple references.