Package org.apache.uima.cas
Interface FeatureStructure
- All Superinterfaces:
Cloneable
- All Known Subinterfaces:
AnnotationBaseFS,AnnotationBaseImpl,AnnotationFS,AnnotationImpl,ArrayFS<E>,ArrayFSImpl<E>,BooleanArrayFS,BooleanArrayFSImpl,ByteArrayFS,ByteArrayFSImpl,CommonArrayFS<E>,CommonArrayFSImpl,CommonList,CommonPrimitiveArray<T>,DoubleArrayFS,DoubleArrayFSImpl,EmptyList,FeatureStructureImpl,FloatArrayFS,FloatArrayFSImpl,IntArrayFS,IntArrayFSImpl,LongArrayFS,LongArrayFSImpl,NonEmptyList,ShortArrayFS,ShortArrayFSImpl,SofaFS,SofaFSImpl,StringArrayFS,StringArrayFSImpl
- All Known Implementing Classes:
Annotation,AnnotationBase,BooleanArray,ByteArray,DocumentAnnotation,DoubleArray,EmptyFloatList,EmptyFSList,EmptyIntegerList,EmptyStringList,FeatureStructureImplC,FloatArray,FloatList,FSArray,FSArrayList,FSHashSet,FSLinkedHashSet,FSList,Int2FS,IntegerArray,IntegerArrayList,IntegerList,LongArray,NonEmptyFloatList,NonEmptyFSList,NonEmptyIntegerList,NonEmptyStringList,ShortArray,Sofa,SourceDocumentInformation,StringArray,StringList,TOP
Interface for feature structures.
This interface includes indirect getters and setters that use Feature object instances to specify
the feature. There are multiple versions of these, corresponding to the consolidated types of the
feature range.
Here are the types:
FeatureStructure - reference to another Feature structure
String
float
int
byte
boolean
short
long
double
-
Method Summary
Modifier and TypeMethodDescriptionintInternal useint_id()return the unique (to this CAS) id of this feature structureclone()Creates a copy of this feature structure.booleanA feature structure is equal to another feature structure iff it is identical in the underlying representation.intCompatibility for v2 code.booleangetBooleanValue(Feature feat) Get the boolean value of a feature.bytegetByteValue(Feature feat) Get the byte value of a feature.getCAS()doublegetDoubleValue(Feature feat) Get the double value of a feature.getFeatureValue(Feature feat) Get a feature value.Get the value of the feature as a string if the type of the feature is one of the primitive type.floatgetFloatValue(Feature feat) Get the float value of a feature.intgetIntValue(Feature feat) Get the int value of a feature.default JCasgetJCas()longgetLongValue(Feature feat) Get the long value of a feature.shortgetShortValue(Feature feat) Get the short value of a feature.Get the string value under a feature.getType()Get the type of this FS.inthashCode()Will return a hash code that's consistent with equality, i.e., if two FSs are equal, they will also return the same hash code.voidsetBooleanValue(Feature feat, boolean i) Set the boolean value of a feature.voidsetByteValue(Feature feat, byte i) Set the byte (8 bit) value of a feature.voidsetDoubleValue(Feature feat, double i) Set the double value of a feature.voidsetFeatureValue(Feature feat, FeatureStructure fs) Set a feature value to another FS.voidsetFeatureValueFromString(Feature feat, String s) Sets the value of a feature from a string input if the feature type is one of the primitive types.voidsetFloatValue(Feature feat, float f) Set the float value of a feature.voidsetIntValue(Feature feat, int i) Set the int value of a feature.voidsetLongValue(Feature feat, long i) Set the long (64 bit) value of a feature.voidsetShortValue(Feature feat, short i) Set the short (16 bit) value of a feature.voidsetStringValue(Feature feat, String s) Set the string value of a feature.
-
Method Details
-
getType
Type getType()Get the type of this FS.- Returns:
- The type.
-
setFeatureValue
Set a feature value to another FS.- Parameters:
feat- The feature whose value should be set.fs- The value FS.- Throws:
CASRuntimeException- If there is a typing violation, i.e., iffeatis not defined for the type of this FS, or the range type offeatis not a supertype offs.getType().
-
getFeatureValue
Get a feature value.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value; may be
nullif the value has not been set. - Throws:
CASRuntimeException- If there is a typing violation, i.e., iffeatis not defined for the type of this FS, or the range type offeatis Float, Integer or String.
-
setStringValue
Set the string value of a feature.- Parameters:
feat- The feature whose value we want to set.s- The string we're setting the feature to.- Throws:
CASRuntimeException- If there is a typing violation, i.e., iffeatis not defined forthis.getType()orfeat.getRange()is notCAS.STRING_TYPE.
-
getStringValue
Get the string value under a feature.- Parameters:
f- The feature for which we want the value.- Returns:
- The value of this feature; may be
nullif the value has not been set. - Throws:
CASRuntimeException- If there is a typing violation, i.e., iffis not defined for the type of this feature structure, or if the range type offis not String.
-
getFloatValue
Get the float value of a feature. This method will throw an exception if the feature is not float valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value float;
0.0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not float valued.
-
setFloatValue
Set the float value of a feature.- Parameters:
feat- The feature whose value we want to set.f- The float we're setting the feature to.- Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not float valued.
-
getIntValue
Get the int value of a feature. This method will throw an exception if the feature is not int valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value int;
0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not int valued.
-
setIntValue
Set the int value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The int we're setting the feature to.- Throws:
CASRuntimeException
-
getByteValue
Get the byte value of a feature. This method will throw an exception if the feature is not byte valued.- Parameters:
feat- The feature whose value we want to set.- Returns:
- The value byte;
0if the value has not been set. - Throws:
CASRuntimeException- tbd
-
setByteValue
Set the byte (8 bit) value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The 8bit value we're setting the feature to.- Throws:
CASRuntimeException- tbd
-
getBooleanValue
Get the boolean value of a feature. This method will throw an exception if the feature is not boolean valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value int;
0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not boolean valued.
-
setBooleanValue
Set the boolean value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The boolean value we're setting the feature to.- Throws:
CASRuntimeException
-
getShortValue
Get the short value of a feature. This method will throw an exception if the feature is not short valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value int;
0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not short valued.
-
setShortValue
Set the short (16 bit) value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The short (16bit) value we're setting the feature to.- Throws:
CASRuntimeException
-
getLongValue
Get the long value of a feature. This method will throw an exception if the feature is not long valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value int;
0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not long valued.
-
setLongValue
Set the long (64 bit) value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The long (64bit) value we're setting the feature to.- Throws:
CASRuntimeException
-
getDoubleValue
Get the double value of a feature. This method will throw an exception if the feature is not double valued.- Parameters:
feat- The feature whose value we want to get.- Returns:
- The value int;
0if the value has not been set. - Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if it is not double valued.
-
setDoubleValue
Set the double value of a feature.- Parameters:
feat- The feature whose value we want to set.i- The double value we're setting the feature to.- Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS
-
getFeatureValueAsString
Get the value of the feature as a string if the type of the feature is one of the primitive type.- Parameters:
feat- The feature whose value we want to get and whose type is one of the primitive types.- Returns:
- A string representation of the feature value.
- Throws:
CASRuntimeException- Iffeatis not defined for the type of this FS, or if the type is not a primitive type.
-
setFeatureValueFromString
Sets the value of a feature from a string input if the feature type is one of the primitive types.- Parameters:
feat- The feature whose value we want to set.s- The string value that the feature will be set to.- Throws:
CASRuntimeException- Iffeatis not a primitive type or the value cannot be converted to this type.
-
getCAS
CAS getCAS()- Returns:
- The CAS view where this Feature Structure was created
-
getJCas
- Returns:
- the JCas view where this Feature Structure was created
-
_id
int _id()return the unique (to this CAS) id of this feature structure- Returns:
- the id
-
_getTypeCode
int _getTypeCode()Internal use- Returns:
- the type code of this feature structure
-
clone
Creates a copy of this feature structure. The returned feature structure is a new and separate object but all features of the feature structure which are not of builtin types (integer, float, string) will be shared between the clone and it's source FS.- Returns:
- a FeatureStructure that is the cloned copy of this FeatureStructure.
- Throws:
CASRuntimeException- passthru
-
getAddress
int getAddress()Compatibility for v2 code. As a side effect, this will enter this Feature Structure into the int-to-FS table so the low level API call ll_getFSForRef(int) works. This has the effect of disabling garbage collection for this Feature Structure.- Returns:
- the equivalent of the v2 address
-
equals
A feature structure is equal to another feature structure iff it is identical in the underlying representation.- Overrides:
equalsin classObject- Throws:
ClassCastException- Ifois not a FS.
-
hashCode
int hashCode()Will return a hash code that's consistent with equality, i.e., if two FSs are equal, they will also return the same hash code.
-