org.apache.uima.resource.metadata.impl
Class FeatureDescription_impl

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

public class FeatureDescription_impl
extends MetaDataObject_impl
implements FeatureDescription

Reference implementation of FeatureDescription. Under construction.

See Also:
Serialized Form

Constructor Summary
FeatureDescription_impl()
          Creates a new FeatureDescription_impl with null field values.
FeatureDescription_impl(java.lang.String aName, java.lang.String aDescription, java.lang.String aRangeTypeName)
          Creates a new FeatureDescription_impl with the specified field values.
FeatureDescription_impl(java.lang.String aName, java.lang.String aDescription, java.lang.String aRangeTypeName, java.lang.String aElementTypeName, java.lang.Boolean aMultipleReferencesAllowed)
          Creates a new FeatureDescription_impl with the specified field values.
 
Method Summary
 java.lang.String getDescription()
          Gets the verbose description of this Feature.
 java.lang.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.
 java.lang.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.
 java.lang.String getName()
          Gets the name of this Feature.
 java.lang.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(java.lang.String aDescription)
          Sets the verbose description of this Feature.
 void setElementType(java.lang.String aElementType)
          For a multi-valued (array or list) feature, sets the expected type of the elements of that array or list.
 void setMultipleReferencesAllowed(java.lang.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(java.lang.String aName)
          Sets the name of this Feature.
 void setRangeTypeName(java.lang.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, getAttributeClass, getAttributeValue, getPropertyDescriptors, getPropertyXmlInfo, getRelativePathBase, getSourceUrl, getSourceUrlString, getWrapperClass, getXMLAttributes, hashCode, isModifiable, listAttributes, readArrayPropertyValueFromXMLElement, readMapPropertyFromXml, readPropertyValueFromXMLElement, readUnknownPropertyValueFromXMLElement, setAttributeValue, setSourceUrl, setSourceUrlIfNull, toString, toXML, toXML, toXML, toXML, 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(java.lang.String aName,
                               java.lang.String aDescription,
                               java.lang.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(java.lang.String aName,
                               java.lang.String aDescription,
                               java.lang.String aRangeTypeName,
                               java.lang.String aElementTypeName,
                               java.lang.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 java.lang.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:
org.apache.uima.cas.FeatureDescription#getName()

setName

public void setName(java.lang.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:
org.apache.uima.cas.FeatureDescription#setName(String)

getDescription

public java.lang.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:
org.apache.uima.analysis_engine.metadata.FeatureDescription#getDescription()

setDescription

public void setDescription(java.lang.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:
org.apache.uima.analysis_engine.metadata.FeatureDescription#setDescription(java.lang.String)

getRangeTypeName

public java.lang.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:
org.apache.uima.cas.FeatureDescription#getRangeTypeName()

setRangeTypeName

public void setRangeTypeName(java.lang.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:
org.apache.uima.cas.FeatureDescription#setRangeTypeName(String)

getElementType

public java.lang.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 ommitted 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 java.lang.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(java.lang.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 ommitted 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(java.lang.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 © 2011. All Rights Reserved.