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