Interface LowLevelCAS
- All Known Implementing Classes:
CASImpl
The basic concepts of the low-level APIs is very simple. The CAS does not internally hold its data as Java objects, for performance reasons. The low-level APIs give you access to this data more or less directly. Instead of creating Java objects that you can manipulate in an OO fashion, you only obtain int values that are used as references to internal data. Thus, if you would like to change values on a particular piece of data, you need to hand the FS reference to the API, as opposed to calling methods on a FS object. The tricky part about the low-level APIs is that it's all just ints, and it is very easy to confuse an int that represents a type code with an int that represents a feature code or a FS reference. Particular care is therefore necessary when using the low-level APIs. Please follow the guidelines for turning on a minimum of checks below.
This API represents the supported access to low-level features of the UIMA framework CAS implementation. Other public APIs in the implementation are not supported and are subject to change without notice.
Please note that you really need to know what you're doing when using these APIs. Incorrect usage of these APIs can and will cause completely unpredictable results; likely your application will crash, and it will do so much later than where the incorrect usage occured. The low-level APIs are very hard to debug. You should only use the low-level APIs if you have carefully profiled your application and are sure that the high-level CAS APIs or the JCAS represent a performance bottleneck.
Note that most low-level APIs have versions that allow you to turn some form of parameter checking on. We strongly encourage you to use those versions during development, they may save you a lot of time. One way you can use the type checking switch is by having a constant
static final boolean DO_TYPE_CHECK = true;
which you can use during development. For production level code, you can later change the
constant to false
. The performance difference to the non-parametrized versions of
the getters and setters is probably negligible or may not even exist, depending on the Java
runtime.
Please note that even with the check switches turned on, it is still possible to make mistakes that only show up much later in processing. The main problem is that it is simply impossible to determine for certain whether a given FS reference is valid or not. The implementation can only determine that it looks like a reference that points at a valid piece of data, but this could be accidental.
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
Float type.static final int
Float array type.static final int
FS type (all other types, include all user-defined ones).static final int
FS array type.static final int
Integer type.static final int
Integer type.static final int
Not a valid type.static final int
static final int
static final int
static final int
static final int
String type.static final int
String array type. -
Method Summary
Modifier and TypeMethodDescriptionboolean
int
ll_copyCharBufferValue
(int fsRef, int featureCode, char[] buffer, int start) int
ll_createArray
(int typeCode, int arrayLength) Create a new array.int
ll_createArray
(int typeCode, int arrayLength, boolean doChecks) Create a new array.int
ll_createBooleanArray
(int arrayLength) int
ll_createByteArray
(int arrayLength) int
ll_createDoubleArray
(int arrayLength) int
ll_createFS
(int typeCode) Create a new FS on the heap.int
ll_createFS
(int typeCode, boolean doTypeCheck) Create a new FS on the heap.int
ll_createLongArray
(int arrayLength) int
ll_createShortArray
(int arrayLength) static AutoCloseableNoException
Defaults new CASs to have the id_to_fs_map enabledstatic AutoCloseableNoException
ll_defaultV2IdRefs
(boolean enable) Sets the defaults for new CASs to have the id_to_fs_map enabled.default AutoCloseableNoException
Enables the id_to_fs_map mode.ll_enableV2IdRefs
(boolean enable) Enables or disables the id_to_fs_map mode.int
ll_getArraySize
(int arrayFsRef) Get the size of an array.boolean
ll_getBooleanArrayValue
(int fsRef, int position) boolean
ll_getBooleanArrayValue
(int fsRef, int position, boolean doTypeChecks) boolean
ll_getBooleanValue
(int fsRef, int featureCode) boolean
ll_getBooleanValue
(int fsRef, int featureCode, boolean doTypeChecks) byte
ll_getByteArrayValue
(int fsRef, int position) byte
ll_getByteArrayValue
(int fsRef, int position, boolean doTypeChecks) byte
ll_getByteValue
(int fsRef, int featureCode) byte
ll_getByteValue
(int fsRef, int featureCode, boolean doTypeChecks) int
ll_getCharBufferValueSize
(int fsRef, int featureCode) double
ll_getDoubleArrayValue
(int fsRef, int position) double
ll_getDoubleArrayValue
(int fsRef, int position, boolean doTypeChecks) double
ll_getDoubleValue
(int fsRef, int featureCode) double
ll_getDoubleValue
(int fsRef, int featureCode, boolean doTypeChecks) float
ll_getFloatArrayValue
(int fsRef, int position) Get the value of a float array at a certain position.float
ll_getFloatArrayValue
(int fsRef, int position, boolean doTypeChecks) Get the value of a float array at a certain position.float
ll_getFloatValue
(int fsRef, int featureCode) Get the value of a float valued feature.float
ll_getFloatValue
(int fsRef, int featureCode, boolean doTypeChecks) Get the value of a float valued feature.<T extends TOP>
Tll_getFSForRef
(int fsRef) Return a FS object that corresponds to a low-level reference.int
ll_getFSRef
(FeatureStructure fsImpl) Get the low-level reference from an existing FS object.int
ll_getFSRefType
(int fsRef) Get the type code for a FS reference.int
ll_getFSRefType
(int fsRef, boolean doChecks) Get the type code for a FS reference.Get the low-level version of the index repository.int
ll_getIntArrayValue
(int fsRef, int position) Get the value of an array at a certain position.int
ll_getIntArrayValue
(int fsRef, int position, boolean doTypeChecks) Get the value of an integer array at a certain position.int
ll_getIntValue
(int fsRef, int featureCode) Get the value of an integer valued feature.int
ll_getIntValue
(int fsRef, int featureCode, boolean doTypeChecks) Get the value of an integer valued feature.long
ll_getLongArrayValue
(int fsRef, int position) long
ll_getLongArrayValue
(int fsRef, int position, boolean doTypeChecks) long
ll_getLongValue
(int fsRef, int featureCode) long
ll_getLongValue
(int fsRef, int featureCode, boolean doTypeChecks) int
ll_getRefArrayValue
(int fsRef, int position) Get the value of a FS reference array at a certain position.int
ll_getRefArrayValue
(int fsRef, int position, boolean doTypeChecks) Get the value of a FS reference array at a certain position.int
ll_getRefValue
(int fsRef, int featureCode) Get the value of a FS reference valued feature.int
ll_getRefValue
(int fsRef, int featureCode, boolean doTypeChecks) Get the value of a FS reference valued feature.short
ll_getShortArrayValue
(int fsRef, int position) short
ll_getShortArrayValue
(int fsRef, int position, boolean doTypeChecks) short
ll_getShortValue
(int fsRef, int featureCode) short
ll_getShortValue
(int fsRef, int featureCode, boolean doTypeChecks) int
ll_getSofaCasView
(int addr) ll_getStringArrayValue
(int fsRef, int position) Get the value of a string array at a certain position.ll_getStringArrayValue
(int fsRef, int position, boolean doTypeChecks) Get the value of a string array at a certain position.ll_getStringValue
(int fsRef, int featureCode) Get the value of a string valued feature.ll_getStringValue
(int fsRef, int featureCode, boolean doTypeChecks) Get the value of a string valued feature.int
ll_getTypeClass
(int typeCode) Determine the type class of a type.Get the low-level version of the type system object.boolean
ll_isRefType
(int typeCode) Checks if the type code is that of a reference type (anything that's not a basic type, currently Integer, String and Float).void
ll_setBooleanArrayValue
(int fsRef, int position, boolean b) void
ll_setBooleanArrayValue
(int fsRef, int position, boolean b, boolean doTypeChecks) void
ll_setBooleanValue
(int fsRef, int featureCode, boolean value) void
ll_setBooleanValue
(int fsRef, int featureCode, boolean value, boolean doTypeChecks) void
ll_setByteArrayValue
(int fsRef, int position, byte value) void
ll_setByteArrayValue
(int fsRef, int position, byte value, boolean doTypeChecks) void
ll_setByteValue
(int fsRef, int featureCode, byte value) void
ll_setByteValue
(int fsRef, int featureCode, byte value, boolean doTypeChecks) void
ll_setCharBufferValue
(int fsRef, int featureCode, char[] buffer, int start, int length) void
ll_setCharBufferValue
(int fsRef, int featureCode, char[] buffer, int start, int length, boolean doChecks) void
ll_setDoubleArrayValue
(int fsRef, int position, double d) void
ll_setDoubleArrayValue
(int fsRef, int position, double d, boolean doTypeChecks) void
ll_setDoubleValue
(int fsRef, int featureCode, double value) void
ll_setDoubleValue
(int fsRef, int featureCode, double value, boolean doTypeChecks) void
ll_setFloatArrayValue
(int fsRef, int position, float value) Set the value of an integer array at a certain position.void
ll_setFloatArrayValue
(int fsRef, int position, float value, boolean doTypeChecks) Set the value of an integer array at a certain position.void
ll_setFloatValue
(int fsRef, int featureCode, float value) Set the value of a float feature.void
ll_setFloatValue
(int fsRef, int featureCode, float value, boolean doTypeChecks) Set the value of a float feature.void
ll_setIntArrayValue
(int fsRef, int position, int value) Set the value of an integer array at a certain position.void
ll_setIntArrayValue
(int fsRef, int position, int value, boolean doTypeChecks) Set the value of an integer array at a certain position.void
ll_setIntValue
(int fsRef, int featureCode, int value) Set the value of an integer feature.void
ll_setIntValue
(int fsRef, int featureCode, int value, boolean doTypeChecks) Set the value of an integer feature.void
ll_setLongArrayValue
(int fsRef, int position, long value) void
ll_setLongArrayValue
(int fsRef, int position, long value, boolean doTypeChecks) void
ll_setLongValue
(int fsRef, int featureCode, long value) void
ll_setLongValue
(int fsRef, int featureCode, long value, boolean doTypeChecks) void
ll_setRefArrayValue
(int fsRef, int position, int value) Set the value of an integer array at a certain position.void
ll_setRefArrayValue
(int fsRef, int position, int value, boolean doTypeChecks) Set the value of an integer array at a certain position.void
ll_setRefValue
(int fsRef, int featureCode, int value) Set the value of a FS reference feature.void
ll_setRefValue
(int fsRef, int featureCode, int value, boolean doTypeChecks) Set the value of a FS reference feature.void
ll_setShortArrayValue
(int fsRef, int position, short value) void
ll_setShortArrayValue
(int fsRef, int position, short value, boolean doTypeChecks) void
ll_setShortValue
(int fsRef, int featureCode, short value) void
ll_setShortValue
(int fsRef, int featureCode, short value, boolean doTypeChecks) void
ll_setStringArrayValue
(int fsRef, int position, String value) Set the value of an integer array at a certain position.void
ll_setStringArrayValue
(int fsRef, int position, String value, boolean doTypeChecks) Set the value of an integer array at a certain position.void
ll_setStringValue
(int fsRef, int featureCode, String value) Set the value of a string feature.void
ll_setStringValue
(int fsRef, int featureCode, String value, boolean doTypeChecks) Set the value of a string feature.
-
Field Details
-
TYPE_CLASS_INVALID
static final int TYPE_CLASS_INVALIDNot a valid type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_INT
static final int TYPE_CLASS_INTInteger type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_FLOAT
static final int TYPE_CLASS_FLOATFloat type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_STRING
static final int TYPE_CLASS_STRINGString type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_INTARRAY
static final int TYPE_CLASS_INTARRAYInteger type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_FLOATARRAY
static final int TYPE_CLASS_FLOATARRAYFloat array type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_STRINGARRAY
static final int TYPE_CLASS_STRINGARRAYString array type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_FSARRAY
static final int TYPE_CLASS_FSARRAYFS array type. Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_FS
static final int TYPE_CLASS_FSFS type (all other types, include all user-defined ones). Type class constant returned byll_getTypeClass()
.- See Also:
-
TYPE_CLASS_BOOLEAN
static final int TYPE_CLASS_BOOLEAN- See Also:
-
TYPE_CLASS_BYTE
static final int TYPE_CLASS_BYTE- See Also:
-
TYPE_CLASS_SHORT
static final int TYPE_CLASS_SHORT- See Also:
-
TYPE_CLASS_LONG
static final int TYPE_CLASS_LONG- See Also:
-
TYPE_CLASS_DOUBLE
static final int TYPE_CLASS_DOUBLE- See Also:
-
TYPE_CLASS_BOOLEANARRAY
static final int TYPE_CLASS_BOOLEANARRAY- See Also:
-
TYPE_CLASS_BYTEARRAY
static final int TYPE_CLASS_BYTEARRAY- See Also:
-
TYPE_CLASS_SHORTARRAY
static final int TYPE_CLASS_SHORTARRAY- See Also:
-
TYPE_CLASS_LONGARRAY
static final int TYPE_CLASS_LONGARRAY- See Also:
-
TYPE_CLASS_DOUBLEARRAY
static final int TYPE_CLASS_DOUBLEARRAY- See Also:
-
NULL_FS_REF
static final int NULL_FS_REF- See Also:
-
-
Method Details
-
ll_getTypeSystem
LowLevelTypeSystem ll_getTypeSystem()Get the low-level version of the type system object. It provides access to the low-level type and feature codes you need to use the data creation and access APIs.- Returns:
- The low-level type system.
-
ll_getIndexRepository
LowLevelIndexRepository ll_getIndexRepository()Get the low-level version of the index repository. Use it to gain access to low-level indexes, and thus, low-level iterators.- Returns:
- A low-level version of the index repository.
-
ll_createFS
int ll_createFS(int typeCode) Create a new FS on the heap.- Parameters:
typeCode
- The low-level code of the type of the FS that should be created. If thetypeCode
is not a valid type code, the results of this call are undefined.- Returns:
- The reference of the newly created FS.
-
ll_createFS
int ll_createFS(int typeCode, boolean doTypeCheck) Create a new FS on the heap.- Parameters:
typeCode
- The low-level code of the type of the FS that should be created. If thetypeCode
is not a valid type code and the type check flag is not set, the results of this call are undefined.doTypeCheck
- -- Returns:
- The reference of the newly created FS.
- Throws:
LowLevelException
- If the type checking switch is set and the type code argument is not valid.
-
ll_createArray
int ll_createArray(int typeCode, int arrayLength) Create a new array.- Parameters:
typeCode
- The type code of the array type. If this is not a valid array type code, the behavior of this call is undefined. Only works for arrays where a value is kept in the main heap (use other ll_createXxxArray for boolean, byte, short, long, and double)arrayLength
- The length of the array to be created.- Returns:
- The address of the newly created array.
-
ll_createArray
int ll_createArray(int typeCode, int arrayLength, boolean doChecks) Create a new array.- Parameters:
typeCode
- The type code of the array to be created.arrayLength
- The length of the array to be created.doChecks
- Switch to turn on various sanity checks.- Returns:
- The address of the newly created array.
-
ll_createBooleanArray
int ll_createBooleanArray(int arrayLength) -
ll_createByteArray
int ll_createByteArray(int arrayLength) -
ll_createShortArray
int ll_createShortArray(int arrayLength) -
ll_createLongArray
int ll_createLongArray(int arrayLength) -
ll_createDoubleArray
int ll_createDoubleArray(int arrayLength) -
ll_getArraySize
int ll_getArraySize(int arrayFsRef) Get the size of an array.- Parameters:
arrayFsRef
- The array reference.- Returns:
- The size of the array.
-
ll_getFSRef
Get the low-level reference from an existing FS object. Use this API if you already have a FS object from somewhere, and want to apply low-level APIs to it. Has a side effect of adding the FS to the internal table allowing ll_getFSforRef. Note: This prevents the object from being GC'd, so this use is deprecated.- Parameters:
fsImpl
- The FS object for which we want the reference.- Returns:
- The low-level reference of the FS object parameter.
-
ll_getFSForRef
Return a FS object that corresponds to a low-level reference. Note that this must be a valid reference that has been obtained from the low-level APIs. If the input reference parameter does not represent a valid reference, an exception is thrown.
In version 3, the map this API uses is not normally populated; it is populated only for Feature Structures created using the low-level APIs, and also when the ll_getFSRef API (above) is used, or the getAddress method is called on a Feature Structure
- Type Parameters:
T
- the Java class for the Feature Structure- Parameters:
fsRef
- The FS reference.- Returns:
- A FS object corresponding to the input reference.
-
ll_getIntValue
int ll_getIntValue(int fsRef, int featureCode) Get the value of an integer valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.- Returns:
- The value of the feature.
-
ll_getFloatValue
float ll_getFloatValue(int fsRef, int featureCode) Get the value of a float valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.- Returns:
- The value of the feature.
-
ll_getStringValue
Get the value of a string valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.- Returns:
- The value of the feature.
-
ll_getRefValue
int ll_getRefValue(int fsRef, int featureCode) Get the value of a FS reference valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.- Returns:
- The value of the feature.
-
ll_getIntValue
int ll_getIntValue(int fsRef, int featureCode, boolean doTypeChecks) Get the value of an integer valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value of the feature.
-
ll_getFloatValue
float ll_getFloatValue(int fsRef, int featureCode, boolean doTypeChecks) Get the value of a float valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value of the feature.
-
ll_getStringValue
Get the value of a string valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value of the feature.
-
ll_getRefValue
int ll_getRefValue(int fsRef, int featureCode, boolean doTypeChecks) Get the value of a FS reference valued feature.- Parameters:
fsRef
- The reference to the FS from which to obtain the feature value.featureCode
- The low-level code of the feature whose value is to be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value of the feature.
-
ll_setIntValue
void ll_setIntValue(int fsRef, int featureCode, int value) Set the value of an integer feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.
-
ll_setFloatValue
void ll_setFloatValue(int fsRef, int featureCode, float value) Set the value of a float feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.
-
ll_setStringValue
Set the value of a string feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.
-
ll_setRefValue
void ll_setRefValue(int fsRef, int featureCode, int value) Set the value of a FS reference feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.
-
ll_setIntValue
void ll_setIntValue(int fsRef, int featureCode, int value, boolean doTypeChecks) Set the value of an integer feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.doTypeChecks
- Switch to turn on type checking.
-
ll_setFloatValue
void ll_setFloatValue(int fsRef, int featureCode, float value, boolean doTypeChecks) Set the value of a float feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.doTypeChecks
- Switch to turn on type checking.
-
ll_setStringValue
Set the value of a string feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.doTypeChecks
- Switch to turn on type checking.
-
ll_setCharBufferValue
void ll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length, boolean doChecks) -
ll_setCharBufferValue
void ll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length) -
ll_getCharBufferValueSize
int ll_getCharBufferValueSize(int fsRef, int featureCode) -
ll_copyCharBufferValue
int ll_copyCharBufferValue(int fsRef, int featureCode, char[] buffer, int start) -
ll_setRefValue
void ll_setRefValue(int fsRef, int featureCode, int value, boolean doTypeChecks) Set the value of a FS reference feature.- Parameters:
fsRef
- The reference of the FS on which the feature should be set.featureCode
- The low-level feature code for the feature that should be set.value
- The value to be assigned to the feature.doTypeChecks
- Switch to turn on type checking.
-
ll_getIntArrayValue
int ll_getIntArrayValue(int fsRef, int position) Get the value of an array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.- Returns:
- The value at
position
.
-
ll_getFloatArrayValue
float ll_getFloatArrayValue(int fsRef, int position) Get the value of a float array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.- Returns:
- The value at
position
.
-
ll_getStringArrayValue
Get the value of a string array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.- Returns:
- The value at
position
.
-
ll_getRefArrayValue
int ll_getRefArrayValue(int fsRef, int position) Get the value of a FS reference array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.- Returns:
- The value at
position
.
-
ll_getIntArrayValue
int ll_getIntArrayValue(int fsRef, int position, boolean doTypeChecks) Get the value of an integer array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value at
position
.
-
ll_getFloatArrayValue
float ll_getFloatArrayValue(int fsRef, int position, boolean doTypeChecks) Get the value of a float array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value at
position
.
-
ll_getStringArrayValue
Get the value of a string array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value at
position
.
-
ll_getRefArrayValue
int ll_getRefArrayValue(int fsRef, int position, boolean doTypeChecks) Get the value of a FS reference array at a certain position.- Parameters:
fsRef
- The reference to the array FS.position
- The position whose value should be returned.doTypeChecks
- Switch to turn on type checking.- Returns:
- The value at
position
.
-
ll_setIntArrayValue
void ll_setIntArrayValue(int fsRef, int position, int value, boolean doTypeChecks) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.doTypeChecks
- Switch to turn on type and bounds checking.value
- The new value.
-
ll_setFloatArrayValue
void ll_setFloatArrayValue(int fsRef, int position, float value, boolean doTypeChecks) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.doTypeChecks
- Switch to turn on type and bounds checking.value
- The new value.
-
ll_setStringArrayValue
Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.doTypeChecks
- Switch to turn on type and bounds checking.value
- The new value.
-
ll_setRefArrayValue
void ll_setRefArrayValue(int fsRef, int position, int value, boolean doTypeChecks) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.doTypeChecks
- Switch to turn on type and bounds checking.value
- The new value.
-
ll_setIntArrayValue
void ll_setIntArrayValue(int fsRef, int position, int value) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.value
- The new value.
-
ll_setFloatArrayValue
void ll_setFloatArrayValue(int fsRef, int position, float value) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.value
- The new value.
-
ll_setStringArrayValue
Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.value
- The new value.
-
ll_setRefArrayValue
void ll_setRefArrayValue(int fsRef, int position, int value) Set the value of an integer array at a certain position.- Parameters:
fsRef
- The FS reference of the array.position
- The position whose value will be changed.value
- The new value.
-
ll_getFSRefType
int ll_getFSRefType(int fsRef) Get the type code for a FS reference. No bounds checks are performed. IffsRef
is not a fs reference, the results are undefined. There is also a checked version of this call, which will give better error messages in case of problems.- Parameters:
fsRef
- The FS reference.- Returns:
- The type code for the FS reference; a return value of
0
means that the fsRef is invalid, i.e.,NULL_FS_REF
(but see remarks on bounds checking for this method).
-
ll_getFSRefType
int ll_getFSRefType(int fsRef, boolean doChecks) Get the type code for a FS reference.- Parameters:
fsRef
- The FS reference.doChecks
- Check fsRef for out-of-range errors. If this switch is not set, and the input reference is not a valid reference, the results are undefined.- Returns:
- The type code for the FS reference; a return value of
0
means that the fsRef is invalid, i.e.,NULL_FS_REF
(but see remarks on bounds checking for this method).
-
ll_getTypeClass
int ll_getTypeClass(int typeCode) Determine the type class of a type. This is useful for generic CAS exploiters to determine what kind of data they're looking at. The type classes currently defined are:TYPE_CLASS_INVALID
-- Not a valid type code.TYPE_CLASS_INT
-- Integer type.TYPE_CLASS_FLOAT
-- Float type.TYPE_CLASS_STRING
-- String type.TYPE_CLASS_BOOLEAN
-- Boolean type.TYPE_CLASS_BYTE
-- Byte type.TYPE_CLASS_SHORT
-- Short type.TYPE_CLASS_LONG
-- Long type.TYPE_CLASS_DOUBLE
-- Double type.TYPE_CLASS_INTARRAY
-- Integer array.TYPE_CLASS_FLOATARRAY
-- Float array.TYPE_CLASS_STRINGARRAY
-- String array.TYPE_CLASS_BOOLEANARRAY
-- Boolean array.TYPE_CLASS_BYTEARRAY
-- Byte array.TYPE_CLASS_SHORTARRAY
-- Short array.TYPE_CLASS_LONGARRAY
-- Long array.TYPE_CLASS_DOUBLEARRAY
-- Double array.TYPE_CLASS_FSARRAY
-- FS array.TYPE_CLASS_FS
-- FS type, i.e., all other types, including all user-defined types.
- Parameters:
typeCode
- The type code.- Returns:
- A type class for the type code.
TYPE_CLASS_INVALID
if the type code argument does not represent a valid type code.
-
ll_isRefType
boolean ll_isRefType(int typeCode) Checks if the type code is that of a reference type (anything that's not a basic type, currently Integer, String and Float).- Parameters:
typeCode
- The type code to check.- Returns:
true
ifftypeCode
is the type code of a reference type.
-
ll_getByteValue
byte ll_getByteValue(int fsRef, int featureCode) -
ll_getBooleanValue
boolean ll_getBooleanValue(int fsRef, int featureCode) -
ll_getShortValue
short ll_getShortValue(int fsRef, int featureCode) -
ll_getLongValue
long ll_getLongValue(int fsRef, int featureCode) -
ll_getDoubleValue
double ll_getDoubleValue(int fsRef, int featureCode) -
ll_getByteValue
byte ll_getByteValue(int fsRef, int featureCode, boolean doTypeChecks) -
ll_getBooleanValue
boolean ll_getBooleanValue(int fsRef, int featureCode, boolean doTypeChecks) -
ll_getShortValue
short ll_getShortValue(int fsRef, int featureCode, boolean doTypeChecks) -
ll_getLongValue
long ll_getLongValue(int fsRef, int featureCode, boolean doTypeChecks) -
ll_getDoubleValue
double ll_getDoubleValue(int fsRef, int featureCode, boolean doTypeChecks) -
ll_setBooleanValue
void ll_setBooleanValue(int fsRef, int featureCode, boolean value) -
ll_setByteValue
void ll_setByteValue(int fsRef, int featureCode, byte value) -
ll_setShortValue
void ll_setShortValue(int fsRef, int featureCode, short value) -
ll_setLongValue
void ll_setLongValue(int fsRef, int featureCode, long value) -
ll_setDoubleValue
void ll_setDoubleValue(int fsRef, int featureCode, double value) -
ll_setBooleanValue
void ll_setBooleanValue(int fsRef, int featureCode, boolean value, boolean doTypeChecks) -
ll_setByteValue
void ll_setByteValue(int fsRef, int featureCode, byte value, boolean doTypeChecks) -
ll_setShortValue
void ll_setShortValue(int fsRef, int featureCode, short value, boolean doTypeChecks) -
ll_setLongValue
void ll_setLongValue(int fsRef, int featureCode, long value, boolean doTypeChecks) -
ll_setDoubleValue
void ll_setDoubleValue(int fsRef, int featureCode, double value, boolean doTypeChecks) -
ll_getByteArrayValue
byte ll_getByteArrayValue(int fsRef, int position) -
ll_getBooleanArrayValue
boolean ll_getBooleanArrayValue(int fsRef, int position) -
ll_getShortArrayValue
short ll_getShortArrayValue(int fsRef, int position) -
ll_getLongArrayValue
long ll_getLongArrayValue(int fsRef, int position) -
ll_getDoubleArrayValue
double ll_getDoubleArrayValue(int fsRef, int position) -
ll_getByteArrayValue
byte ll_getByteArrayValue(int fsRef, int position, boolean doTypeChecks) -
ll_getBooleanArrayValue
boolean ll_getBooleanArrayValue(int fsRef, int position, boolean doTypeChecks) -
ll_getShortArrayValue
short ll_getShortArrayValue(int fsRef, int position, boolean doTypeChecks) -
ll_getLongArrayValue
long ll_getLongArrayValue(int fsRef, int position, boolean doTypeChecks) -
ll_getDoubleArrayValue
double ll_getDoubleArrayValue(int fsRef, int position, boolean doTypeChecks) -
ll_setByteArrayValue
void ll_setByteArrayValue(int fsRef, int position, byte value) -
ll_setBooleanArrayValue
void ll_setBooleanArrayValue(int fsRef, int position, boolean b) -
ll_setShortArrayValue
void ll_setShortArrayValue(int fsRef, int position, short value) -
ll_setLongArrayValue
void ll_setLongArrayValue(int fsRef, int position, long value) -
ll_setDoubleArrayValue
void ll_setDoubleArrayValue(int fsRef, int position, double d) -
ll_setByteArrayValue
void ll_setByteArrayValue(int fsRef, int position, byte value, boolean doTypeChecks) -
ll_setBooleanArrayValue
void ll_setBooleanArrayValue(int fsRef, int position, boolean b, boolean doTypeChecks) -
ll_setShortArrayValue
void ll_setShortArrayValue(int fsRef, int position, short value, boolean doTypeChecks) -
ll_setLongArrayValue
void ll_setLongArrayValue(int fsRef, int position, long value, boolean doTypeChecks) -
ll_setDoubleArrayValue
void ll_setDoubleArrayValue(int fsRef, int position, double d, boolean doTypeChecks) -
ll_getSofaCasView
-
ll_getSofa
int ll_getSofa() -
ll_enableV2IdRefs
Enables the id_to_fs_map mode.- Returns:
- an AutoClosable whose close method doesn't throw an exception that will reset the mode to what it was when it was changed
-
ll_enableV2IdRefs
Enables or disables the id_to_fs_map mode.- Parameters:
enable
- true to enable, false to disable- Returns:
- an AutoClosable whose close method doesn't throw an exception that will reset the mode to what it was when it was changed
-
is_ll_enableV2IdRefs
boolean is_ll_enableV2IdRefs()- Returns:
- true if the id_to_fs_map mode is enabled
-
ll_defaultV2IdRefs
Defaults new CASs to have the id_to_fs_map enabled- Returns:
- an AutoCloseable which restores the previous setting
-
ll_defaultV2IdRefs
Sets the defaults for new CASs to have the id_to_fs_map enabled.- Parameters:
enable
- true to enable, false to disable- Returns:
- an AutoCloseable which restores the previous setting
-