Class FeatureDescription_impl

    • 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

      • 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