Interface FeaturePath
Interface for a feature path. A feature path is a sequence of features, specified as shortFeatureNames (strings). The feature path can either be initialized using the addFeature() or the initialize() method.
A single feature path object can apply to many different types. The method
typeInit()
is (optionally) used to bind a feature path object to a particular
starting Type. This binding remains until another call to typeInit()
is made. It is
used to speed up application of the featurePath to an instance, but is not required - the
application will dynamically lookup features along the path as needed.
If no typeInit call is made, or if the current binding is not correct for the Feature Structure, then the mapping of the features in the feature path specification to actual features is recomputed during the the evaluation of the particular getter invocation.
After these calls the feature path value can be applied to a particular Feature Structure and a value can be extracted using the provided getter methods.
The feature path elements are separated by "/". So a valid feature path is /my/feature/path.
The feature path syntax also allows some built-in functions on the last feature path element. Built-in functions are added with a ":" followed by the function name. E.g. "/my/path:fsId()". The allowed built-in functions are:
- coveredText()
- fsId()
- typeName()
Built-in functions are only evaluated if getValueAsString() is called.
All the intervening features except for the last must be features whose values are other Feature Structures.
Features whose range is an Array are not permitted, unless they occur at the end of the Feature Path. In that case, the value returned must be returned by one of the getValueAsString methods.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addFeature
(Feature feat) Add a new feature at the end of the path.Returns the Boolean value of a boolean valued feature path.Returns the Byte value of a byte valued feature path.Returns the Double value of a double valued feature path.getFeature
(int i) Get feature at position.Returns the feature path as string.Returns the Float value of a float valued feature path.Returns the FeatureStructure of a FeatureStructure valued feature path.Returns the Integer value of an integer valued feature path.Returns the Long value of a long valued feature path.Returns the Short value of a short valued feature path.Returns the String value of a string valued feature path.Deprecated.use getTypeClass (spelling fix)Returns the type of the feature path.Returns the type class of the feature path.Returns the feature path value as string for the given FeatureStructure.void
initialize
(String featurePath) Initialize the feature path object with the given feature path string.ll_getValueAsString
(int fsRef, LowLevelCAS llCas) Returns the feature path value as string for the given FeatureStructure.int
size()
Get length of path.void
Check the feature path for the given type and initialize internal structures for faster access to the feature path value.
-
Method Details
-
size
int size()Get length of path.- Returns:
- An integer
>= 0
.
-
getFeature
Get feature at position.- Parameters:
i
- The position in the path (starting at0
).- Returns:
- The feature, or
null
if there is no such feature.
-
addFeature
Add a new feature at the end of the path.- Parameters:
feat
- The feature to be added.
-
initialize
Initialize the feature path object with the given feature path string.- Parameters:
featurePath
- The featurePath that is used for this feature path object.- Throws:
CASException
- Throws an exception if the feature path syntax is invalid.
-
typeInit
Check the feature path for the given type and initialize internal structures for faster access to the feature path value.- Parameters:
featurePathType
- The type the feature path should be used on.- Throws:
CASException
- Throws an exception if the feature path is not valid for the given type
-
getValueAsString
Returns the feature path value as string for the given FeatureStructure. If the feature path ends in a built-in function it is evaluated and the built-in function value is returned; this is the only method which evaluates built-in functions If the feature path ends with an array the array is converted to a comma separated string.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the value of the feature path as String or null if the feature path was not set or some features along the path were null.
-
ll_getValueAsString
Returns the feature path value as string for the given FeatureStructure. If the feature path contains a built-in function it is evaluated and the built-in function value is returned. If the feature path ends with an array the array is converted to a comma separated string.- Parameters:
fsRef
- FeatureStructure reference (LowLevel API) to evaluate the feature path valuellCas
- LowLevelCAS for the fsRef- Returns:
- Returns the value of the feature path as String
-
getType
Returns the type of the feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path type- Returns:
- Returns the type of the feature path or null if the feature path is not set.
-
getTypClass
Deprecated.use getTypeClass (spelling fix)Returns the type class of the feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path type class- Returns:
- Returns the type class of the feature path or null if the feature path is not set
-
getTypeClass
Returns the type class of the feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path type class- Returns:
- Returns the type class of the feature path or null if the feature path is not set
-
getFeaturePath
String getFeaturePath()Returns the feature path as string.- Returns:
- Returns the feature path as string.
-
getStringValue
Returns the String value of a string valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the String value of a string valued feature path or null if the feature path was not set
-
getIntValue
Returns the Integer value of an integer valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Integer value of a integer valued feature path or null if the feature path was not set
-
getBooleanValue
Returns the Boolean value of a boolean valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Boolean value of a boolean valued feature path or null if the feature path was not set
-
getByteValue
Returns the Byte value of a byte valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Byte value of a byte valued feature path or null if the feature path was not set
-
getDoubleValue
Returns the Double value of a double valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Double value of a double valued feature path or null if the feature path was not set
-
getFloatValue
Returns the Float value of a float valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Float value of a float valued feature path or null if the feature path was not set
-
getLongValue
Returns the Long value of a long valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Long value of a long valued feature path or null if the feature path was not set
-
getShortValue
Returns the Short value of a short valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the Short value of a short valued feature path or null if the feature path was not set
-
getFSValue
Returns the FeatureStructure of a FeatureStructure valued feature path.- Parameters:
fs
- FeatureStructure to evaluate the feature path value- Returns:
- Returns the FeatureStructure value of a FeatureStructure valued feature path or null if the feature path was not set
-