Class CASImpl
- java.lang.Object
-
- org.apache.uima.cas.AbstractCas_ImplBase
-
- org.apache.uima.cas.impl.CASImpl
-
- All Implemented Interfaces:
AbstractCas,CASMgr,CAS,LowLevelCAS
public class CASImpl extends AbstractCas_ImplBase implements CAS, CASMgr, LowLevelCAS
Implements the CAS interfaces. This class must be public because we need to be able to create instance of it from outside the package. Use at your own risk. May change without notice.
-
-
Field Summary
Fields Modifier and Type Field Description static intDEFAULT_INITIAL_HEAP_SIZEstatic intDEFAULT_RESET_HEAP_SIZEstatic java.lang.StringDISABLE_PROTECT_INDEXESSet this JVM property to false for high performance, (no checking); insure you don't have the report flag (above) turned on - otherwise it will force this to "true".static intFALSEstatic booleanIS_THROW_EXCEPTION_CORRUPT_INDEXstatic intNULLstatic java.lang.StringREPORT_FS_UPDATES_CORRUPTSDefine this JVM property to enable checking for invalid updates to features which are used as keys by any index.static java.lang.StringTHROW_EXCEPTION_FS_UPDATES_CORRUPTSThe UIMA framework detects (unless disabled, for high performance) updates to indexed FS which update key values used as keys in indexes.static booleantraceFSsstatic intTRUE-
Fields inherited from interface org.apache.uima.cas.CAS
DEFAULT_LANGUAGE_NAME, FEATURE_BASE_NAME_BEGIN, FEATURE_BASE_NAME_END, FEATURE_BASE_NAME_HEAD, FEATURE_BASE_NAME_LANGUAGE, FEATURE_BASE_NAME_SOFA, FEATURE_BASE_NAME_SOFAARRAY, FEATURE_BASE_NAME_SOFAID, FEATURE_BASE_NAME_SOFAMIME, FEATURE_BASE_NAME_SOFANUM, FEATURE_BASE_NAME_SOFASTRING, FEATURE_BASE_NAME_SOFAURI, FEATURE_BASE_NAME_TAIL, FEATURE_FULL_NAME_BEGIN, FEATURE_FULL_NAME_END, FEATURE_FULL_NAME_FLOAT_LIST_HEAD, FEATURE_FULL_NAME_FLOAT_LIST_TAIL, FEATURE_FULL_NAME_FS_LIST_HEAD, FEATURE_FULL_NAME_FS_LIST_TAIL, FEATURE_FULL_NAME_INTEGER_LIST_HEAD, FEATURE_FULL_NAME_INTEGER_LIST_TAIL, FEATURE_FULL_NAME_LANGUAGE, FEATURE_FULL_NAME_SOFA, FEATURE_FULL_NAME_SOFAARRAY, FEATURE_FULL_NAME_SOFAID, FEATURE_FULL_NAME_SOFAMIME, FEATURE_FULL_NAME_SOFANUM, FEATURE_FULL_NAME_SOFASTRING, FEATURE_FULL_NAME_SOFAURI, FEATURE_FULL_NAME_STRING_LIST_HEAD, FEATURE_FULL_NAME_STRING_LIST_TAIL, NAME_DEFAULT_SOFA, NAME_DEFAULT_TEXT_SOFA, NAME_SPACE_UIMA_CAS, NAME_SPACE_UIMA_TCAS, SOFA_INDEX_NAME, STD_ANNOTATION_INDEX, TYPE_NAME_ANNOTATION, TYPE_NAME_ANNOTATION_BASE, TYPE_NAME_ARRAY_BASE, TYPE_NAME_BOOLEAN, TYPE_NAME_BOOLEAN_ARRAY, TYPE_NAME_BYTE, TYPE_NAME_BYTE_ARRAY, TYPE_NAME_DOCUMENT_ANNOTATION, TYPE_NAME_DOUBLE, TYPE_NAME_DOUBLE_ARRAY, TYPE_NAME_EMPTY_FLOAT_LIST, TYPE_NAME_EMPTY_FS_LIST, TYPE_NAME_EMPTY_INTEGER_LIST, TYPE_NAME_EMPTY_STRING_LIST, TYPE_NAME_FLOAT, TYPE_NAME_FLOAT_ARRAY, TYPE_NAME_FLOAT_LIST, TYPE_NAME_FS_ARRAY, TYPE_NAME_FS_LIST, TYPE_NAME_INTEGER, TYPE_NAME_INTEGER_ARRAY, TYPE_NAME_INTEGER_LIST, TYPE_NAME_LIST_BASE, TYPE_NAME_LONG, TYPE_NAME_LONG_ARRAY, TYPE_NAME_NON_EMPTY_FLOAT_LIST, TYPE_NAME_NON_EMPTY_FS_LIST, TYPE_NAME_NON_EMPTY_INTEGER_LIST, TYPE_NAME_NON_EMPTY_STRING_LIST, TYPE_NAME_SHORT, TYPE_NAME_SHORT_ARRAY, TYPE_NAME_SOFA, TYPE_NAME_STRING, TYPE_NAME_STRING_ARRAY, TYPE_NAME_STRING_LIST, TYPE_NAME_TOP, UIMA_CAS_PREFIX
-
Fields inherited from interface org.apache.uima.cas.impl.LowLevelCAS
NULL_FS_REF, TYPE_CLASS_BOOLEAN, TYPE_CLASS_BOOLEANARRAY, TYPE_CLASS_BYTE, TYPE_CLASS_BYTEARRAY, TYPE_CLASS_DOUBLE, TYPE_CLASS_DOUBLEARRAY, TYPE_CLASS_FLOAT, TYPE_CLASS_FLOATARRAY, TYPE_CLASS_FS, TYPE_CLASS_FSARRAY, TYPE_CLASS_INT, TYPE_CLASS_INTARRAY, TYPE_CLASS_INVALID, TYPE_CLASS_LONG, TYPE_CLASS_LONGARRAY, TYPE_CLASS_SHORT, TYPE_CLASS_SHORTARRAY, TYPE_CLASS_STRING, TYPE_CLASS_STRINGARRAY
-
-
Constructor Summary
Constructors Constructor Description CASImpl()Constructor.CASImpl(int initialHeapSize, boolean useJcasCache)CASImpl(CASMgrSerializer ser)CASImpl(TypeSystemImpl typeSystem, int initialHeapSize, boolean useJcasCache)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidaddFsToIndexes(FeatureStructure fs)Add a feature structure to all appropriate indexes in the repository associated with this CAS View.voidaddSofa(FeatureStructure sofa, java.lang.String sofaName, java.lang.String mimeType)voidcheckArrayBounds(int fsRef, int pos)voidcheckArrayBounds(int fsRef, int pos, int length)voidcheckArrayPreconditions(int len)voidcheckTypingConditions(Type domType, Type ranType, Feature feat)Check the range is appropriate for this type/feature.voidcommitFS(FeatureStructure fs)Deprecated.voidcommitTypeSystem()AnnotationFScreateAnnotation(Type type, int begin, int end)Create a new annotation.ArrayFScreateArrayFS(int length)Create a new feature structure array.BooleanArrayFScreateBooleanArrayFS(int length)Create a new Boolean array.ByteArrayFScreateByteArrayFS(int length)Create a new Byte array.DoubleArrayFScreateDoubleArrayFS(int length)Create a new Double array.FeaturePathcreateFeaturePath()Create a feature path.FeatureValuePathcreateFeatureValuePath(java.lang.String featureValuePath)Create a feature-value path from a string.<T extends FeatureStructure>
FSIterator<T>createFilteredIterator(FSIterator<T> it, FSMatchConstraint cons)Create an iterator over structures satisfying a given constraint.FloatArrayFScreateFloatArrayFS(int length)Create a new int array.<T extends FeatureStructure>
TcreateFS(int addr)This is your link from the low-level API to the high-level API.<T extends FeatureStructure>
TcreateFS(Type type)Create a new FeatureStructure.IntArrayFScreateIntArrayFS(int length)Create a new int array.LongArrayFScreateLongArrayFS(int length)Create a new Long array.MarkercreateMarker()The current implementation only supports 1 marker call per CAS.ShortArrayFScreateShortArrayFS(int length)Create a new Short array.SofaFScreateSofa(SofaID sofaID, java.lang.String mimeType)Deprecated.StringArrayFScreateStringArrayFS(int length)Create a new String array.intcreateTempArray(int type, int len)Create a temporary (i.e., per document) array FS on the heap.CAScreateView(java.lang.String aSofaID)Create a view and its underlying Sofa (subject of analysis).static longdouble2long(double d)booleandoUseJcasCache()voidenableReset(boolean flag)Enable/disable resetting the CAS withCAS.reset().static intfloat2int(float f)voidflush()Deprecated.Usereset()instead.<T extends FeatureStructure>
java.util.ListIterator<T>fs2listIterator(FSIterator<T> it)Wrap a standard JavaListIteratoraround an FSListIterator.<T extends AnnotationFS>
AnnotationIndex<T>getAnnotationIndex()The generic spec T extends AnnotationFS (rather than AnnotationFS) allows the method JCasImpl getAnnotationIndex to return Annotation instead of AnnotationFS<T extends AnnotationFS>
AnnotationIndex<T>getAnnotationIndex(Type type)Get the standard annotation index restricted to a specific annotation type.TypegetAnnotationType()Get the type object for the annotation type.intgetArrayStartAddress(int addr)Get the heap address of the first cell of this array.intgetArrayValue(int addr, int index)Get a specific value out of an array.CASImplgetBaseCAS()FeaturegetBeginFeature()Get the feature object for the annotation begin feature.booleangetBooleanValue(int addr, int feat)bytegetByteValue(int addr, int feat)CASgetCAS()Return a non-admin version of the CAS.ConstraintFactorygetConstraintFactory()Get a constraint factory.MarkerImplgetCurrentMark()CASgetCurrentView()Get the Cas view that the current component should use.<T extends AnnotationFS>
TgetDocumentAnnotation()Generic issue: The returned document annotation could be either an instance of DocumentAnnotation or an instance of AnnotationImpl - the Java cover class used for annotations when JCas is not being used.java.lang.StringgetDocumentLanguage()Gets the language code for this document from the language feature of the special instance of the DocumentationAnnotation associated with this CAS.java.lang.StringgetDocumentText()Get the document text.doublegetDoubleValue(int addr, int feat)FeaturegetEndFeature()Get the feature object for the annotation end feature.JCasgetExistingJCas()Internal use onlyintgetFeatureOffset(int feat)intgetFeatureValue(int addr, int feat)java.lang.StringgetFeatureValueAsString(int addr, int feat)floatgetFloatValue(int addr)floatgetFloatValue(int addr, int feat)FSClassRegistrygetFSClassRegistry()HeapgetHeap()intgetHeapValue(int addr)Get the value of an address on the heap.FSIndexRepositorygetIndexRepository()Get the index repository.FSIndexRepositoryMgrgetIndexRepositoryMgr()JCasgetJCas()Get the JCas for this CAS.JCasgetJCas(SofaFS aSofa)Create a JCas view for a Sofa.JCasgetJCas(SofaID aSofaID)Deprecated.java.lang.ClassLoadergetJCasClassLoader()Gets the ClassLoader that should be used by the JCas to load the generated FS cover classes for this CAS.longgetLongValue(int addr, int feat)LowLevelCASgetLowLevelCAS()Get an instance of the low-level CAS.shortgetShortValue(int addr, int feat)SofaFSgetSofa()Get the Sofa feature structure associated with this CAS view.SofaFSgetSofa(SofaID sofaID)Deprecated.FeatureStructuregetSofaDataArray()Get the Sofa data array.java.io.InputStreamgetSofaDataStream()Get the Sofa data as a byte stream.java.io.InputStreamgetSofaDataStream(SofaFS aSofa)java.lang.StringgetSofaDataString()Get the Sofa Data String (a.k.a.java.lang.StringgetSofaDataURI()Get the Sofa data array.intgetSofaFeat(int addr)FSIterator<SofaFS>getSofaIterator()Get iterator for all SofaFS in the CAS.java.lang.StringgetSofaMimeType()Get the mime type of the Sofa data being analyzed.intgetSofaRef()java.lang.StringgetStringForCode(int stringCode)java.lang.StringgetStringValue(int addr, int feat)intgetTypeCode(int fsAddr)TypeSystemgetTypeSystem()Return the type system of this CAS instance.TypeSystemImplgetTypeSystemImpl()TypeSystemMgrgetTypeSystemMgr()Return a writable version of the type system.CASgetView(int sofaNum)CASgetView(java.lang.String aSofaID)Get the view for a Sofa (subject of analysis).CASgetView(SofaFS aSofa)Get the view for a Sofa (subject of analysis).java.util.Iterator<CAS>getViewIterator()Get iterator over all views in this CAS.java.util.Iterator<CAS>getViewIterator(java.lang.String localViewNamePrefix)Get iterator over all views with the given name prefix.java.lang.StringgetViewName()Get the view name.voidinitCASIndexes()Install the standard built-in indexes into the base CASstatic floatint2float(int i)booleanisAbstractArrayType(int type)booleanisAbstractArrayType(Type type)booleanisAnnotationType(Type t)booleanisArrayType(int type)booleanisArrayType(Type type)booleanisBackwardCompatibleCas()booleanisBooleanArrayType(int type)booleanisBooleanArrayType(Type type)booleanisBooleanType(int type)booleanisBooleanType(Type type)booleanisByteArrayType(int type)booleanisByteArrayType(Type type)booleanisByteType(int type)booleanisByteType(Type type)booleanisDoubleArrayType(int type)booleanisDoubleArrayType(Type type)booleanisDoubleType(int type)booleanisDoubleType(Type type)booleanisFloatArrayType(int type)booleanisFloatArrayType(Type type)booleanisFloatType(int type)booleanisFloatType(Type type)booleanisFSArrayType(int type)booleanisFSArrayType(Type type)booleanisIntArrayType(int type)booleanisIntArrayType(Type type)booleanisIntType(int type)booleanisIntType(Type type)booleanisLongArrayType(int type)booleanisLongArrayType(Type type)booleanisLongType(int type)booleanisLongType(Type type)booleanisShortArrayType(int type)booleanisShortArrayType(Type type)booleanisShortType(int type)booleanisShortType(Type type)booleanisStringArrayType(int type)booleanisStringArrayType(Type type)booleanisStringType(int type)booleanisStringType(Type type)booleanisSubtypeOfAnnotationBaseType(int t)intll_copyCharBufferValue(int fsRef, int featureCode, char[] buffer, int start)intll_createAnnotation(int typeCode, int begin, int end)intll_createArray(int typeCode, int arrayLength)Create a new array.intll_createArray(int typeCode, int arrayLength, boolean doChecks)Create a new array.intll_createAuxArray(int typeCode, int arrayLength)intll_createBooleanArray(int arrayLength)intll_createByteArray(int arrayLength)intll_createDocumentAnnotation(int length)intll_createDocumentAnnotationNoIndex(int begin, int end)intll_createDoubleArray(int arrayLength)intll_createFS(int typeCode)Create a new FS on the heap.intll_createFS(int typeCode, boolean doCheck)Create a new FS on the heap.intll_createFSAnnotCheck(int typeCode)intll_createLongArray(int arrayLength)intll_createShortArray(int arrayLength)intll_getAnnotBegin(int fsRef)intll_getAnnotEnd(int fsRef)intll_getArraySize(int arrayFsRef)Get the size of an array.booleanll_getBooleanArrayValue(int fsRef, int position)booleanll_getBooleanArrayValue(int fsRef, int position, boolean doTypeChecks)booleanll_getBooleanValue(int fsRef, int featureCode)booleanll_getBooleanValue(int fsRef, int featureCode, boolean doTypeChecks)bytell_getByteArrayValue(int fsRef, int position)bytell_getByteArrayValue(int fsRef, int position, boolean doTypeChecks)bytell_getByteValue(int fsRef, int featureCode)bytell_getByteValue(int fsRef, int featureCode, boolean doTypeChecks)intll_getCharBufferValueSize(int fsRef, int featureCode)intll_getDocumentAnnotation()doublell_getDoubleArrayValue(int fsRef, int position)doublell_getDoubleArrayValue(int fsRef, int position, boolean doTypeChecks)doublell_getDoubleValue(int fsRef, int featureCode)doublell_getDoubleValue(int fsRef, int featureCode, boolean doTypeChecks)doublell_getDoubleValueFeatOffset(int fsRef, int featureOffset)floatll_getFloatArrayValue(int fsRef, int position)Get the value of a float array at a certain position.floatll_getFloatArrayValue(int fsRef, int position, boolean doTypeChecks)Get the value of a float array at a certain position.floatll_getFloatValue(int fsRef, int featureCode)Get the value of a float valued feature.floatll_getFloatValue(int fsRef, int featureCode, boolean doTypeChecks)Get the value of a float valued feature.<T extends FeatureStructure>
Tll_getFSForRef(int fsRef)Return a FS object that corresponds to a low-level reference.intll_getFSRef(FeatureStructure fsImpl)Get the low-level reference from an existing FS object.intll_getFSRefType(int fsRef)Get the type code for a FS reference.intll_getFSRefType(int fsRef, boolean doChecks)Get the type code for a FS reference.LowLevelIndexRepositoryll_getIndexRepository()Get the low-level version of the index repository.intll_getIntArrayValue(int fsRef, int position)Get the value of an array at a certain position.intll_getIntArrayValue(int fsRef, int position, boolean doTypeChecks)Get the value of an integer array at a certain position.intll_getIntValue(int fsRef, int featureCode)Get the value of an integer valued feature.intll_getIntValue(int fsRef, int featureCode, boolean doTypeChecks)Get the value of an integer valued feature.intll_getIntValueFeatOffset(int fsRef, int featureOffset)longll_getLongArrayValue(int fsRef, int position)longll_getLongArrayValue(int fsRef, int position, boolean doTypeChecks)longll_getLongValue(int offset)longll_getLongValue(int fsRef, int featureCode)longll_getLongValue(int fsRef, int featureCode, boolean doTypeChecks)longll_getLongValueFeatOffset(int fsRef, int featureOffset)intll_getRefArrayValue(int fsRef, int position)Get the value of a FS reference array at a certain position.intll_getRefArrayValue(int fsRef, int position, boolean doTypeChecks)Get the value of a FS reference array at a certain position.intll_getRefValue(int fsRef, int featureCode)Get the value of a FS reference valued feature.intll_getRefValue(int fsRef, int featureCode, boolean doTypeChecks)Get the value of a FS reference valued feature.intll_getRefValueFeatOffset(int fsRef, int featureOffset)shortll_getShortArrayValue(int fsRef, int position)shortll_getShortArrayValue(int fsRef, int position, boolean doTypeChecks)shortll_getShortValue(int fsRef, int featureCode)shortll_getShortValue(int fsRef, int featureCode, boolean doTypeChecks)intll_getSofa()CASImplll_getSofaCasView(int addr)java.lang.Stringll_getSofaDataString(int sofaAddr)java.lang.Stringll_getSofaID(int sofaRef)intll_getSofaNum(int sofaRef)java.lang.Stringll_getStringArrayValue(int fsRef, int position)Get the value of a string array at a certain position.java.lang.Stringll_getStringArrayValue(int fsRef, int position, boolean doTypeChecks)Get the value of a string array at a certain position.java.lang.Stringll_getStringValue(int fsRef, int featureCode)Get the value of a string valued feature.java.lang.Stringll_getStringValue(int fsRef, int featureCode, boolean doTypeChecks)Get the value of a string valued feature.java.lang.Stringll_getStringValueFeatOffset(int fsRef, int featureOffset)intll_getTypeClass(int typeCode)Determine the type class of a type.LowLevelTypeSystemll_getTypeSystem()Get the low-level version of the type system object.booleanll_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).voidll_setBooleanArrayValue(int fsRef, int position, boolean b)voidll_setBooleanArrayValue(int fsRef, int position, boolean value, boolean doTypeChecks)voidll_setBooleanValue(int fsRef, int featureCode, boolean value)voidll_setBooleanValue(int fsRef, int featureCode, boolean value, boolean doTypeChecks)voidll_setByteArrayValue(int fsRef, int position, byte value)voidll_setByteArrayValue(int fsRef, int position, byte value, boolean doTypeChecks)voidll_setByteValue(int fsRef, int featureCode, byte value)voidll_setByteValue(int fsRef, int featureCode, byte value, boolean doTypeChecks)voidll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length)voidll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length, boolean doTypeChecks)voidll_setDoubleArrayValue(int fsRef, int position, double d)voidll_setDoubleArrayValue(int fsRef, int position, double value, boolean doTypeChecks)voidll_setDoubleValue(int fsRef, int featureCode, double value)voidll_setDoubleValue(int fsRef, int featureCode, double value, boolean doTypeChecks)voidll_setFloatArrayValue(int fsRef, int position, float value)Set the value of an integer array at a certain position.voidll_setFloatArrayValue(int fsRef, int position, float value, boolean doTypeChecks)Set the value of an integer array at a certain position.voidll_setFloatValue(int fsRef, int featureCode, float value)Set the value of a float feature.voidll_setFloatValue(int fsRef, int featureCode, float value, boolean doTypeChecks)Set the value of a float feature.voidll_setIntArrayValue(int fsRef, int position, int value)Set the value of an integer array at a certain position.voidll_setIntArrayValue(int fsRef, int position, int value, boolean doTypeChecks)Set the value of an integer array at a certain position.voidll_setIntValue(int fsRef, int featureCode, int value)Set the value of an integer feature.voidll_setIntValue(int fsRef, int featureCode, int value, boolean doTypeChecks)Set the value of an integer feature.voidll_setLongArrayValue(int fsRef, int position, long value)voidll_setLongArrayValue(int fsRef, int position, long value, boolean doTypeChecks)voidll_setLongValue(int fsRef, int featureCode, long value)voidll_setLongValue(int fsRef, int featureCode, long value, boolean doTypeChecks)voidll_setRefArrayValue(int fsRef, int position, int value)Set the value of an integer array at a certain position.voidll_setRefArrayValue(int fsRef, int position, int value, boolean doTypeChecks)Set the value of an integer array at a certain position.voidll_setRefValue(int fsRef, int featureCode, int value)Set the value of a FS reference feature.voidll_setRefValue(int fsRef, int featureCode, int value, boolean doTypeChecks)Set the value of a FS reference feature.voidll_setShortArrayValue(int fsRef, int position, short value)voidll_setShortArrayValue(int fsRef, int position, short value, boolean doTypeChecks)voidll_setShortValue(int fsRef, int featureCode, short value)voidll_setShortValue(int fsRef, int featureCode, short value, boolean doTypeChecks)voidll_setStringArrayValue(int fsRef, int position, java.lang.String value)Set the value of an integer array at a certain position.voidll_setStringArrayValue(int fsRef, int position, java.lang.String value, boolean doTypeChecks)Set the value of an integer array at a certain position.voidll_setStringValue(int fsRef, int featureCode, java.lang.String value)Set the value of a string feature.voidll_setStringValue(int fsRef, int featureCode, java.lang.String value, boolean doTypeChecks)Set the value of a string feature.static doublelong2double(long l)java.lang.AutoCloseableprotectIndexes()protectIndexes Within the scope of protectIndexes, feature updates are checked, and if found to be a key, and the FS is in a corruptable index, then the FS is removed from the indexes (in all necessary views) (perhaps multiple times if the FS was added to the indexes multiple times), and this removal is recorded on an new instance of FSsTobeReindexed appended to fssTobeAddedback.voidprotectIndexes(java.lang.Runnable r)Runs the code in the runnable inside a protection block, where any modifications to features done while in this block will be done in a way to protect any indexes which otherwise might become corrupted by the update action; the protection is achieved by temporarily removing the FS (if it is in the indexes), before the update happens.SerialFormatreinit(java.io.InputStream istream)--------------------------------------------------------------------- see Blob Format in CASSerializer This reads in and deserializes CAS data from a stream.voidreinit(CASCompleteSerializer casCompSer)voidreinit(CASSerializer ser)SerialFormatreinit(CommonSerDes.Header h, java.io.InputStream istream, CASMgrSerializer casMgrSerializer, CasLoadMode casLoadMode, BinaryCasSerDes6 f6, AllowPreexistingFS allowPreexistingFS, TypeSystemImpl ts)--------------------------------------------------------------------- Deserialize a binary input stream, after reading the header, and optionally an externally provided type system and index spec used in compressed form 6 serialization previously This reads in and deserializes CAS data from a stream.voidrelease()Default implementation that returns this CAS to its CasManager by callingCasOwner.releaseCas(AbstractCas).voidremoveFsFromIndexes(FeatureStructure fs)Remove a feature structure from all indexes in the repository associated with this CAS View.voidreset()Reset the CAS, emptying it of all content.voidresetNoQuestions()voidrestoreClassLoaderUnlockCas()voidsetCacheNotInIndex(int fsAddr)Called by feature setters which know the FS is not in any index to bypass any index corruption checking, e.g., CasCopier Internal use onlyvoidsetCAS(CAS cas)voidsetCurrentComponentInfo(ComponentInfo info)Informs the CAS of relevant information about the component that is currently processing it.voidsetDocumentLanguage(java.lang.String languageCode)Sets the language for this document.voidsetDocumentText(java.lang.String text)Set the document text.voidsetFeatureValue(int addr, int feat, boolean v)voidsetFeatureValue(int addr, int feat, byte v)voidsetFeatureValue(int addr, int feat, double s)voidsetFeatureValue(int addr, int feat, float f)voidsetFeatureValue(int addr, int feat, int val)This is the common point where all sets of values in the heap come through It implements the check for invalid feature setting and potentially the addback.voidsetFeatureValue(int addr, int feat, long s)voidsetFeatureValue(int addr, int feat, short s)voidsetFeatureValueFromString(int fsref, int feat, java.lang.String value)voidsetFloatValue(int addr, int feat, float f)voidsetJCasClassLoader(java.lang.ClassLoader classLoader)Sets the ClassLoader that should be used by the JCas to load the generated FS cover classes for this CAS.voidsetLocalFsGenerators(FSGenerator<? extends FeatureStructure>[] fsGenerators)voidsetOwner(CasOwner aCasOwner)Provides this CAS with a handle to the CASOwner that owns it.voidsetSofaDataArray(FeatureStructure array, java.lang.String mime)Set the Sofa data as an ArrayFS.voidsetSofaDataString(java.lang.String text, java.lang.String mime)Set the document text.voidsetSofaDataURI(java.lang.String uri, java.lang.String mime)Set the Sofa data as a URI.voidsetSofaFeat(int addr, int sofa)voidsetStringValue(int addr, int feat, java.lang.String s)CASImplsetupCasFromCasMgrSerializer(CASMgrSerializer casMgrSerializer)static voidsetupTSDefault(TypeSystemImpl ts)intsize()Estimate the memory consumption of this CAS instance (in bytes).voidswitchClassLoader(java.lang.ClassLoader newClassLoader)voidswitchClassLoaderLockCas(java.lang.Object userCode)voidswitchClassLoaderLockCasCL(java.lang.ClassLoader newClassLoader)java.lang.StringtoString()voidupdateDocumentAnnotation()booleanusingBaseClassLoader()
-
-
-
Field Detail
-
traceFSs
public static final boolean traceFSs
-
NULL
public static final int NULL
- See Also:
- Constant Field Values
-
TRUE
public static final int TRUE
- See Also:
- Constant Field Values
-
FALSE
public static final int FALSE
- See Also:
- Constant Field Values
-
DEFAULT_INITIAL_HEAP_SIZE
public static final int DEFAULT_INITIAL_HEAP_SIZE
- See Also:
- Constant Field Values
-
DEFAULT_RESET_HEAP_SIZE
public static final int DEFAULT_RESET_HEAP_SIZE
- See Also:
- Constant Field Values
-
THROW_EXCEPTION_FS_UPDATES_CORRUPTS
public static final java.lang.String THROW_EXCEPTION_FS_UPDATES_CORRUPTS
The UIMA framework detects (unless disabled, for high performance) updates to indexed FS which update key values used as keys in indexes. Normally the framework will protect against index corruption by temporarily removing the FS from the indexes, then do the update to the feature value, and then addback the changed FS.Users can use the protectIndexes() methods to explicitly control this remove - add back cycle, for instance to "batch" together several updates to multiple features in a FS.
Some build processes may want to FAIL if any unprotected updates of this kind occur, instead of having the framework silently recover them. This is enabled by having the framework throw an exception; this is controlled by this global JVM property, which, if defined, causes the framework to throw an exception rather than recover.
- See Also:
- Constant Field Values
-
IS_THROW_EXCEPTION_CORRUPT_INDEX
public static final boolean IS_THROW_EXCEPTION_CORRUPT_INDEX
-
REPORT_FS_UPDATES_CORRUPTS
public static final java.lang.String REPORT_FS_UPDATES_CORRUPTS
Define this JVM property to enable checking for invalid updates to features which are used as keys by any index.- The following are the same: -Duima.check_invalid_fs_updates and -Duima.check_invalid_fs_updates=true
- See Also:
- Constant Field Values
-
DISABLE_PROTECT_INDEXES
public static final java.lang.String DISABLE_PROTECT_INDEXES
Set this JVM property to false for high performance, (no checking); insure you don't have the report flag (above) turned on - otherwise it will force this to "true".- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CASImpl
public CASImpl(TypeSystemImpl typeSystem, int initialHeapSize, boolean useJcasCache)
-
CASImpl
public CASImpl()
Constructor. Use only if you want to use the low-level APIs.
-
CASImpl
public CASImpl(int initialHeapSize, boolean useJcasCache)
-
CASImpl
public CASImpl(CASMgrSerializer ser)
-
-
Method Detail
-
setCacheNotInIndex
public void setCacheNotInIndex(int fsAddr)
Called by feature setters which know the FS is not in any index to bypass any index corruption checking, e.g., CasCopier Internal use only- Parameters:
fsAddr- the address of the feature structure
-
enableReset
public void enableReset(boolean flag)
Description copied from interface:CASMgrEnable/disable resetting the CAS withCAS.reset().- Specified by:
enableResetin interfaceCASMgr- Parameters:
flag- true to enable reset
-
getTypeSystem
public TypeSystem getTypeSystem()
Description copied from interface:CASReturn the type system of this CAS instance.- Specified by:
getTypeSystemin interfaceCAS- Returns:
- The type system, or
nullif none is available.
-
getConstraintFactory
public ConstraintFactory getConstraintFactory()
Description copied from interface:CASGet a constraint factory. A constraint factory is a simple way of creatingFSMatchConstraints.- Specified by:
getConstraintFactoryin interfaceCAS- Returns:
- A constraint factory to create new FS constraints.
-
createFS
public <T extends FeatureStructure> T createFS(Type type)
Description copied from interface:CASCreate a new FeatureStructure.
-
ll_createFSAnnotCheck
public int ll_createFSAnnotCheck(int typeCode)
-
createArrayFS
public ArrayFS createArrayFS(int length)
Description copied from interface:CASCreate a new feature structure array.- Specified by:
createArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
-
createIntArrayFS
public IntArrayFS createIntArrayFS(int length)
Description copied from interface:CASCreate a new int array.- Specified by:
createIntArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
-
createFloatArrayFS
public FloatArrayFS createFloatArrayFS(int length)
Description copied from interface:CASCreate a new int array.- Specified by:
createFloatArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
-
createStringArrayFS
public StringArrayFS createStringArrayFS(int length)
Description copied from interface:CASCreate a new String array.- Specified by:
createStringArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
-
checkArrayPreconditions
public final void checkArrayPreconditions(int len) throws CASRuntimeException- Throws:
CASRuntimeException
-
isBackwardCompatibleCas
public boolean isBackwardCompatibleCas()
-
createSofa
@Deprecated public SofaFS createSofa(SofaID sofaID, java.lang.String mimeType)
Deprecated.Description copied from interface:CASCreate a Subject of Analysis. The new sofaFS is automatically added to the SofaIndex.- Specified by:
createSofain interfaceCAS- Parameters:
sofaID- -mimeType- -- Returns:
- The sofaFS.
-
addSofa
public void addSofa(FeatureStructure sofa, java.lang.String sofaName, java.lang.String mimeType)
-
getSofa
@Deprecated public SofaFS getSofa(SofaID sofaID)
Deprecated.Description copied from interface:CASGet sofaFS for given Subject of Analysis ID.
-
ll_getSofaNum
public int ll_getSofaNum(int sofaRef)
-
ll_getSofaID
public java.lang.String ll_getSofaID(int sofaRef)
-
ll_getSofaDataString
public java.lang.String ll_getSofaDataString(int sofaAddr)
-
getBaseCAS
public CASImpl getBaseCAS()
-
getSofaIterator
public FSIterator<SofaFS> getSofaIterator()
Description copied from interface:CASGet iterator for all SofaFS in the CAS.- Specified by:
getSofaIteratorin interfaceCAS- Returns:
- an iterator over SofaFS.
-
setSofaFeat
public void setSofaFeat(int addr, int sofa)
-
getSofaFeat
public int getSofaFeat(int addr)
-
getSofaRef
public int getSofaRef()
-
getSofaDataStream
public java.io.InputStream getSofaDataStream(SofaFS aSofa)
-
createFilteredIterator
public <T extends FeatureStructure> FSIterator<T> createFilteredIterator(FSIterator<T> it, FSMatchConstraint cons)
Description copied from interface:CASCreate an iterator over structures satisfying a given constraint. Constraints are described in the javadocs forConstraintFactoryand related classes.- Specified by:
createFilteredIteratorin interfaceCAS- Type Parameters:
T- - the type of the Feature Structure- Parameters:
it- The input iterator.cons- The constraint specifying what structures should be returned.- Returns:
- An iterator over FSs.
-
commitTypeSystem
public void commitTypeSystem()
-
setLocalFsGenerators
public void setLocalFsGenerators(FSGenerator<? extends FeatureStructure>[] fsGenerators)
-
getIndexRepositoryMgr
public FSIndexRepositoryMgr getIndexRepositoryMgr()
- Specified by:
getIndexRepositoryMgrin interfaceCASMgr- Returns:
- a writable version of the index repository. Note that the type system must be committed before this method can be called.
-
commitFS
@Deprecated public void commitFS(FeatureStructure fs)
Deprecated.- Parameters:
fs- -
-
createFeaturePath
public FeaturePath createFeaturePath()
Description copied from interface:CASCreate a feature path. This is mainly useful for creatingFSMatchConstraints.- Specified by:
createFeaturePathin interfaceCAS- Returns:
- A new, empty feature path.
-
getTypeSystemMgr
public TypeSystemMgr getTypeSystemMgr()
Description copied from interface:CASMgrReturn a writable version of the type system. This may be used to add new types and features.- Specified by:
getTypeSystemMgrin interfaceCASMgr- Returns:
- A writable version of the type system.
- See Also:
CASMgr.getTypeSystemMgr()
-
reset
public void reset()
Description copied from interface:CASReset the CAS, emptying it of all content. Feature structures and iterators will no longer be valid. Note: this method may only be called from an application. Calling it from an annotator will trigger a runtime exception.
-
resetNoQuestions
public void resetNoQuestions()
-
flush
@Deprecated public void flush()
Deprecated.Usereset()instead.Description copied from interface:CASMgrFlush this CAS instance of all transient data. This will delete all feature structures, but not the type system, the indexes etc. Call before processing a new document.
-
getIndexRepository
public FSIndexRepository getIndexRepository()
Description copied from interface:CASGet the index repository.- Specified by:
getIndexRepositoryin interfaceCAS- Returns:
- The index repository, or
nullif none is available.
-
reinit
public void reinit(CASSerializer ser)
-
fs2listIterator
public <T extends FeatureStructure> java.util.ListIterator<T> fs2listIterator(FSIterator<T> it)
Description copied from interface:CASWrap a standard JavaListIteratoraround an FSListIterator. Use if you feel more comfortable with java style iterators.- Specified by:
fs2listIteratorin interfaceCAS- Type Parameters:
T- The type of FeatureStructure- Parameters:
it- TheFSListIteratorto be wrapped.- Returns:
- An equivalent
ListIterator. - See Also:
CAS.fs2listIterator(FSIterator)
-
getCAS
public CAS getCAS()
Description copied from interface:CASMgrReturn a non-admin version of the CAS.- Specified by:
getCASin interfaceCASMgr- Returns:
- The CAS corresponding to this CASMgr.
- See Also:
CASMgr.getCAS()
-
getFSClassRegistry
public FSClassRegistry getFSClassRegistry()
-
setupCasFromCasMgrSerializer
public CASImpl setupCasFromCasMgrSerializer(CASMgrSerializer casMgrSerializer)
-
reinit
public void reinit(CASCompleteSerializer casCompSer)
-
reinit
public SerialFormat reinit(java.io.InputStream istream) throws CASRuntimeException
--------------------------------------------------------------------- see Blob Format in CASSerializer This reads in and deserializes CAS data from a stream. Byte swapping may be needed if the blob is from C++ -- C++ blob serialization writes data in native byte order.- Parameters:
istream- -- Returns:
- -
- Throws:
CASRuntimeException- wraps IOException
-
reinit
public SerialFormat reinit(CommonSerDes.Header h, java.io.InputStream istream, CASMgrSerializer casMgrSerializer, CasLoadMode casLoadMode, BinaryCasSerDes6 f6, AllowPreexistingFS allowPreexistingFS, TypeSystemImpl ts) throws CASRuntimeException
--------------------------------------------------------------------- Deserialize a binary input stream, after reading the header, and optionally an externally provided type system and index spec used in compressed form 6 serialization previously This reads in and deserializes CAS data from a stream. Byte swapping may be needed if the blob is from C++ -- C++ blob serialization writes data in native byte order. The corresponding serialization code is in org.apache.uima.cas.impl.Serialization, also see CasIOUtils- Parameters:
h- -istream- -casMgrSerializer- null or the Java object representing the externally supplied type and maybe indexes definition (TSI)casLoadMode- DEFAULT or REINIT. REINIT required with compressed form 6 to reinitialize the cas's type system and index definition, for form 6.f6- only used for form 6 where an instance of BinaryCasSerDes6 has been initializedallowPreexistingFS- only used for form 6 delta deserializationts- -- Returns:
- -
- Throws:
CASRuntimeException- wraps IOException
-
createFS
public <T extends FeatureStructure> T createFS(int addr)
This is your link from the low-level API to the high-level API. Use this method to create a FeatureStructure object from an address. Not that the reverse is not supported by public APIs (i.e., there is currently no way to get at the address of a FeatureStructure. Maybe we will need to change that.- Type Parameters:
T- The Java class associated with this feature structure- Parameters:
addr- The address of the feature structure to be created.- Returns:
- A FeatureStructure object. Note that no checking whatsoever is done on the input address. There is really no way of finding out which addresses in the valid address space actually represent feature structures, and which don't.
-
ll_getArraySize
public int ll_getArraySize(int arrayFsRef)
Description copied from interface:LowLevelCASGet the size of an array.- Specified by:
ll_getArraySizein interfaceLowLevelCAS- Parameters:
arrayFsRef- The array reference.- Returns:
- The size of the array.
-
getArrayStartAddress
public final int getArrayStartAddress(int addr)
Get the heap address of the first cell of this array.- Parameters:
addr- The address of the array.- Returns:
- The address where the first cell of the array is located.
-
getArrayValue
public int getArrayValue(int addr, int index)Get a specific value out of an array.- Parameters:
addr- The address of the array.index- The index of the value we're interested in.- Returns:
- The value at
index. - Throws:
java.lang.ArrayIndexOutOfBoundsException- -
-
getTypeCode
public int getTypeCode(int fsAddr)
-
getHeapValue
public int getHeapValue(int addr)
Get the value of an address on the heap.- Parameters:
addr- The target address.- Returns:
- The value at the address.
-
setFeatureValue
public void setFeatureValue(int addr, int feat, int val)This is the common point where all sets of values in the heap come through It implements the check for invalid feature setting and potentially the addback. Set the value of a feature of a FS.- Parameters:
addr- The address of the FS.feat- The code of the feature.val- The new value for the feature.- Throws:
java.lang.ArrayIndexOutOfBoundsException- If the feature is not a legal feature, or it is not appropriate for the type at the address.
-
setStringValue
public void setStringValue(int addr, int feat, java.lang.String s)
-
setFloatValue
public void setFloatValue(int addr, int feat, float f)
-
getFeatureValue
public int getFeatureValue(int addr, int feat)
-
getStringValue
public java.lang.String getStringValue(int addr, int feat)
-
getFloatValue
public float getFloatValue(int addr, int feat)
-
getFloatValue
public float getFloatValue(int addr)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, byte v)
-
getByteValue
public byte getByteValue(int addr, int feat)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, boolean v)
-
getBooleanValue
public boolean getBooleanValue(int addr, int feat)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, short s)
-
getShortValue
public short getShortValue(int addr, int feat)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, long s)
-
getLongValue
public long getLongValue(int addr, int feat)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, float f)
-
setFeatureValue
public void setFeatureValue(int addr, int feat, double s)
-
getDoubleValue
public double getDoubleValue(int addr, int feat)
-
getFeatureValueAsString
public java.lang.String getFeatureValueAsString(int addr, int feat)
-
setFeatureValueFromString
public void setFeatureValueFromString(int fsref, int feat, java.lang.String value)
-
int2float
public static final float int2float(int i)
-
float2int
public static final int float2int(float f)
-
long2double
public static final double long2double(long l)
-
double2long
public static final long double2long(double d)
-
getTypeSystemImpl
public TypeSystemImpl getTypeSystemImpl()
-
getStringForCode
public java.lang.String getStringForCode(int stringCode)
-
isStringType
public boolean isStringType(Type type)
-
isAbstractArrayType
public boolean isAbstractArrayType(Type type)
-
isArrayType
public boolean isArrayType(Type type)
-
isIntArrayType
public boolean isIntArrayType(Type type)
-
isFloatArrayType
public boolean isFloatArrayType(Type type)
-
isStringArrayType
public boolean isStringArrayType(Type type)
-
isBooleanArrayType
public boolean isBooleanArrayType(Type type)
-
isByteArrayType
public boolean isByteArrayType(Type type)
-
isShortArrayType
public boolean isShortArrayType(Type type)
-
isLongArrayType
public boolean isLongArrayType(Type type)
-
isDoubleArrayType
public boolean isDoubleArrayType(Type type)
-
isFSArrayType
public boolean isFSArrayType(Type type)
-
isIntType
public boolean isIntType(Type type)
-
isFloatType
public boolean isFloatType(Type type)
-
isStringType
public boolean isStringType(int type)
-
isByteType
public boolean isByteType(Type type)
-
isBooleanType
public boolean isBooleanType(Type type)
-
isShortType
public boolean isShortType(Type type)
-
isLongType
public boolean isLongType(Type type)
-
isDoubleType
public boolean isDoubleType(Type type)
-
isAbstractArrayType
public boolean isAbstractArrayType(int type)
-
isArrayType
public boolean isArrayType(int type)
-
isIntArrayType
public boolean isIntArrayType(int type)
-
isFloatArrayType
public boolean isFloatArrayType(int type)
-
isStringArrayType
public boolean isStringArrayType(int type)
-
isByteArrayType
public boolean isByteArrayType(int type)
-
isBooleanArrayType
public boolean isBooleanArrayType(int type)
-
isShortArrayType
public boolean isShortArrayType(int type)
-
isLongArrayType
public boolean isLongArrayType(int type)
-
isDoubleArrayType
public boolean isDoubleArrayType(int type)
-
isFSArrayType
public boolean isFSArrayType(int type)
-
isIntType
public boolean isIntType(int type)
-
isFloatType
public boolean isFloatType(int type)
-
isByteType
public boolean isByteType(int type)
-
isBooleanType
public boolean isBooleanType(int type)
-
isShortType
public boolean isShortType(int type)
-
isLongType
public boolean isLongType(int type)
-
isDoubleType
public boolean isDoubleType(int type)
-
getHeap
public Heap getHeap()
-
getFeatureOffset
public int getFeatureOffset(int feat)
-
setupTSDefault
public static void setupTSDefault(TypeSystemImpl ts)
-
initCASIndexes
public void initCASIndexes() throws CASExceptionDescription copied from interface:CASMgrInstall the standard built-in indexes into the base CAS- Specified by:
initCASIndexesin interfaceCASMgr- Throws:
CASException- if an error occurs- See Also:
CASMgr.initCASIndexes()
-
getView
public CAS getView(int sofaNum)
-
getCurrentView
public CAS getCurrentView()
Description copied from interface:CASGet the Cas view that the current component should use. This should only be used by single-view components.- Specified by:
getCurrentViewin interfaceCAS- Returns:
- the Cas view specified for the current component by Sofa mapping. Defaults to _InitialView if there is no Sofa mapping.
-
getJCas
public JCas getJCas() throws CASException
Description copied from interface:CASGet the JCas for this CAS.- Specified by:
getJCasin interfaceCAS- Returns:
- The JCas for this CAS.
- Throws:
CASException- -
-
getExistingJCas
public JCas getExistingJCas()
Internal use only- Returns:
- corresponding JCas, assuming it exists
-
getJCas
public JCas getJCas(SofaFS aSofa) throws CASException
Description copied from interface:CASCreate a JCas view for a Sofa. Note: as of UIMA v2.0, can be replaced with getView(sofaFS).getJCas().- Specified by:
getJCasin interfaceCAS- Parameters:
aSofa- a Sofa feature structure in this CAS.- Returns:
- The JCas view for the given Sofa.
- Throws:
CASException- -
-
getJCas
@Deprecated public JCas getJCas(SofaID aSofaID) throws CASException
Deprecated.Description copied from interface:CASCreate a JCas view for a Sofa. Note: this is provided for convenience. It is equivalent togetView(aSofaID).getJCas().- Specified by:
getJCasin interfaceCAS- Parameters:
aSofaID- the ID of a Sofa defined in this CAS- Returns:
- The view for the Sofa with ID
aSofaID. - Throws:
CASException- if no Sofa with the given ID exists in this CAS
-
createView
public CAS createView(java.lang.String aSofaID)
Description copied from interface:CASCreate a view and its underlying Sofa (subject of analysis). The view provides access to the Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.This method creates the underlying Sofa feature structure, but does not set the Sofa data. Setting ths Sofa data must be done by calling
CAS.setSofaDataArray(FeatureStructure, String),CAS.setSofaDataString(String, String)orCAS.setSofaDataURI(String, String)on the CAS view returned by this method.- Specified by:
createViewin interfaceCAS- Parameters:
aSofaID- the local name, before any sofa name mapping is done, for this view (note: this is the same as the associated Sofa name).- Returns:
- The view corresponding to this local name.
-
getView
public CAS getView(java.lang.String aSofaID)
Description copied from interface:CASGet the view for a Sofa (subject of analysis). The view provides access to the Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.
-
getView
public CAS getView(SofaFS aSofa)
Description copied from interface:CASGet the view for a Sofa (subject of analysis). The view provides access to the Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.
-
ll_getTypeSystem
public LowLevelTypeSystem ll_getTypeSystem()
Description copied from interface:LowLevelCASGet 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.- Specified by:
ll_getTypeSystemin interfaceLowLevelCAS- Returns:
- The low-level type system.
-
ll_getIndexRepository
public LowLevelIndexRepository ll_getIndexRepository()
Description copied from interface:LowLevelCASGet the low-level version of the index repository. Use it to gain access to low-level indexes, and thus, low-level iterators.- Specified by:
ll_getIndexRepositoryin interfaceLowLevelCAS- Returns:
- A low-level version of the index repository.
-
checkTypingConditions
public final void checkTypingConditions(Type domType, Type ranType, Feature feat)
Check the range is appropriate for this type/feature. Throws LowLevelException if it isn't.- Parameters:
domType- domain typeranType- range typefeat- feature
-
ll_isRefType
public final boolean ll_isRefType(int typeCode)
Description copied from interface:LowLevelCASChecks if the type code is that of a reference type (anything that's not a basic type, currently Integer, String and Float).- Specified by:
ll_isRefTypein interfaceLowLevelCAS- Parameters:
typeCode- The type code to check.- Returns:
trueifftypeCodeis the type code of a reference type.
-
ll_getTypeClass
public final int ll_getTypeClass(int typeCode)
Description copied from interface:LowLevelCASDetermine 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.
- Specified by:
ll_getTypeClassin interfaceLowLevelCAS- Parameters:
typeCode- The type code.- Returns:
- A type class for the type code.
TYPE_CLASS_INVALIDif the type code argument does not represent a valid type code.
-
ll_createFS
public final int ll_createFS(int typeCode)
Description copied from interface:LowLevelCASCreate a new FS on the heap.- Specified by:
ll_createFSin interfaceLowLevelCAS- Parameters:
typeCode- The low-level code of the type of the FS that should be created. If thetypeCodeis not a valid type code, the results of this call are undefined.- Returns:
- The reference of the newly created FS.
-
ll_createFS
public final int ll_createFS(int typeCode, boolean doCheck)Description copied from interface:LowLevelCASCreate a new FS on the heap.- Specified by:
ll_createFSin interfaceLowLevelCAS- Parameters:
typeCode- The low-level code of the type of the FS that should be created. If thetypeCodeis not a valid type code and the type check flag is not set, the results of this call are undefined.doCheck- -- Returns:
- The reference of the newly created FS.
-
createTempArray
public int createTempArray(int type, int len)Create a temporary (i.e., per document) array FS on the heap.- Parameters:
type- The type code of the array to be created.len- The length of the array to be created.- Returns:
- -
- Throws:
java.lang.ArrayIndexOutOfBoundsException- Iftypeis not a type.
-
ll_createArray
public int ll_createArray(int typeCode, int arrayLength)Description copied from interface:LowLevelCASCreate a new array.- Specified by:
ll_createArrayin interfaceLowLevelCAS- 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_createAuxArray
public int ll_createAuxArray(int typeCode, int arrayLength)
-
ll_createByteArray
public int ll_createByteArray(int arrayLength)
- Specified by:
ll_createByteArrayin interfaceLowLevelCAS
-
ll_createBooleanArray
public int ll_createBooleanArray(int arrayLength)
- Specified by:
ll_createBooleanArrayin interfaceLowLevelCAS
-
ll_createShortArray
public int ll_createShortArray(int arrayLength)
- Specified by:
ll_createShortArrayin interfaceLowLevelCAS
-
ll_createLongArray
public int ll_createLongArray(int arrayLength)
- Specified by:
ll_createLongArrayin interfaceLowLevelCAS
-
ll_createDoubleArray
public int ll_createDoubleArray(int arrayLength)
- Specified by:
ll_createDoubleArrayin interfaceLowLevelCAS
-
ll_createArray
public int ll_createArray(int typeCode, int arrayLength, boolean doChecks)Description copied from interface:LowLevelCASCreate a new array.- Specified by:
ll_createArrayin interfaceLowLevelCAS- 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_getFSRef
public final int ll_getFSRef(FeatureStructure fsImpl)
Description copied from interface:LowLevelCASGet 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.- Specified by:
ll_getFSRefin interfaceLowLevelCAS- Parameters:
fsImpl- The FS object for which we want the reference.- Returns:
- The low-level reference of the FS object parameter.
-
ll_getFSForRef
public <T extends FeatureStructure> T ll_getFSForRef(int fsRef)
Description copied from interface:LowLevelCASReturn 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, the results of this call are undefined.- Specified by:
ll_getFSForRefin interfaceLowLevelCAS- 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
public final int ll_getIntValue(int fsRef, int featureCode)Description copied from interface:LowLevelCASGet the value of an integer valued feature.- Specified by:
ll_getIntValuein interfaceLowLevelCAS- 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_getIntValueFeatOffset
public final int ll_getIntValueFeatOffset(int fsRef, int featureOffset)
-
ll_getFloatValue
public final float ll_getFloatValue(int fsRef, int featureCode)Description copied from interface:LowLevelCASGet the value of a float valued feature.- Specified by:
ll_getFloatValuein interfaceLowLevelCAS- 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
public final java.lang.String ll_getStringValue(int fsRef, int featureCode)Description copied from interface:LowLevelCASGet the value of a string valued feature.- Specified by:
ll_getStringValuein interfaceLowLevelCAS- 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_getStringValueFeatOffset
public final java.lang.String ll_getStringValueFeatOffset(int fsRef, int featureOffset)
-
ll_getRefValue
public final int ll_getRefValue(int fsRef, int featureCode)Description copied from interface:LowLevelCASGet the value of a FS reference valued feature.- Specified by:
ll_getRefValuein interfaceLowLevelCAS- 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_getRefValueFeatOffset
public final int ll_getRefValueFeatOffset(int fsRef, int featureOffset)
-
ll_getIntValue
public final int ll_getIntValue(int fsRef, int featureCode, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of an integer valued feature.- Specified by:
ll_getIntValuein interfaceLowLevelCAS- 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
public final float ll_getFloatValue(int fsRef, int featureCode, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a float valued feature.- Specified by:
ll_getFloatValuein interfaceLowLevelCAS- 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
public final java.lang.String ll_getStringValue(int fsRef, int featureCode, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a string valued feature.- Specified by:
ll_getStringValuein interfaceLowLevelCAS- 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
public final int ll_getRefValue(int fsRef, int featureCode, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a FS reference valued feature.- Specified by:
ll_getRefValuein interfaceLowLevelCAS- 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_getAnnotBegin
public int ll_getAnnotBegin(int fsRef)
-
ll_getAnnotEnd
public int ll_getAnnotEnd(int fsRef)
-
ll_setIntValue
public final void ll_setIntValue(int fsRef, int featureCode, int value)Description copied from interface:LowLevelCASSet the value of an integer feature.- Specified by:
ll_setIntValuein interfaceLowLevelCAS- 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
public final void ll_setFloatValue(int fsRef, int featureCode, float value)Description copied from interface:LowLevelCASSet the value of a float feature.- Specified by:
ll_setFloatValuein interfaceLowLevelCAS- 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
public final void ll_setStringValue(int fsRef, int featureCode, java.lang.String value)Description copied from interface:LowLevelCASSet the value of a string feature.- Specified by:
ll_setStringValuein interfaceLowLevelCAS- 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
public final void ll_setRefValue(int fsRef, int featureCode, int value)Description copied from interface:LowLevelCASSet the value of a FS reference feature.- Specified by:
ll_setRefValuein interfaceLowLevelCAS- 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
public final void ll_setIntValue(int fsRef, int featureCode, int value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of an integer feature.- Specified by:
ll_setIntValuein interfaceLowLevelCAS- 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
public final void ll_setFloatValue(int fsRef, int featureCode, float value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of a float feature.- Specified by:
ll_setFloatValuein interfaceLowLevelCAS- 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
public final void ll_setStringValue(int fsRef, int featureCode, java.lang.String value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of a string feature.- Specified by:
ll_setStringValuein interfaceLowLevelCAS- 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
public final void ll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length, boolean doTypeChecks)- Specified by:
ll_setCharBufferValuein interfaceLowLevelCAS
-
ll_setCharBufferValue
public final void ll_setCharBufferValue(int fsRef, int featureCode, char[] buffer, int start, int length)- Specified by:
ll_setCharBufferValuein interfaceLowLevelCAS
-
ll_copyCharBufferValue
public int ll_copyCharBufferValue(int fsRef, int featureCode, char[] buffer, int start)- Specified by:
ll_copyCharBufferValuein interfaceLowLevelCAS
-
ll_getCharBufferValueSize
public int ll_getCharBufferValueSize(int fsRef, int featureCode)- Specified by:
ll_getCharBufferValueSizein interfaceLowLevelCAS
-
ll_setRefValue
public final void ll_setRefValue(int fsRef, int featureCode, int value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of a FS reference feature.- Specified by:
ll_setRefValuein interfaceLowLevelCAS- 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
public final int ll_getIntArrayValue(int fsRef, int position)Description copied from interface:LowLevelCASGet the value of an array at a certain position.- Specified by:
ll_getIntArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The reference to the array FS.position- The position whose value should be returned.- Returns:
- The value at
position.
-
ll_getFloatArrayValue
public final float ll_getFloatArrayValue(int fsRef, int position)Description copied from interface:LowLevelCASGet the value of a float array at a certain position.- Specified by:
ll_getFloatArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The reference to the array FS.position- The position whose value should be returned.- Returns:
- The value at
position.
-
ll_getStringArrayValue
public final java.lang.String ll_getStringArrayValue(int fsRef, int position)Description copied from interface:LowLevelCASGet the value of a string array at a certain position.- Specified by:
ll_getStringArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The reference to the array FS.position- The position whose value should be returned.- Returns:
- The value at
position.
-
ll_getRefArrayValue
public final int ll_getRefArrayValue(int fsRef, int position)Description copied from interface:LowLevelCASGet the value of a FS reference array at a certain position.- Specified by:
ll_getRefArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The reference to the array FS.position- The position whose value should be returned.- Returns:
- The value at
position.
-
checkArrayBounds
public final void checkArrayBounds(int fsRef, int pos)
-
checkArrayBounds
public final void checkArrayBounds(int fsRef, int pos, int length)
-
ll_getIntArrayValue
public final int ll_getIntArrayValue(int fsRef, int position, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of an integer array at a certain position.- Specified by:
ll_getIntArrayValuein interfaceLowLevelCAS- 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
public float ll_getFloatArrayValue(int fsRef, int position, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a float array at a certain position.- Specified by:
ll_getFloatArrayValuein interfaceLowLevelCAS- 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
public java.lang.String ll_getStringArrayValue(int fsRef, int position, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a string array at a certain position.- Specified by:
ll_getStringArrayValuein interfaceLowLevelCAS- 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
public int ll_getRefArrayValue(int fsRef, int position, boolean doTypeChecks)Description copied from interface:LowLevelCASGet the value of a FS reference array at a certain position.- Specified by:
ll_getRefArrayValuein interfaceLowLevelCAS- 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
public void ll_setIntArrayValue(int fsRef, int position, int value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setIntArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.doTypeChecks- Switch to turn on type and bounds checking.
-
ll_setFloatArrayValue
public void ll_setFloatArrayValue(int fsRef, int position, float value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setFloatArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.doTypeChecks- Switch to turn on type and bounds checking.
-
ll_setStringArrayValue
public void ll_setStringArrayValue(int fsRef, int position, java.lang.String value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setStringArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.doTypeChecks- Switch to turn on type and bounds checking.
-
ll_setRefArrayValue
public void ll_setRefArrayValue(int fsRef, int position, int value, boolean doTypeChecks)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setRefArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.doTypeChecks- Switch to turn on type and bounds checking.
-
ll_setIntArrayValue
public void ll_setIntArrayValue(int fsRef, int position, int value)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setIntArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.
-
ll_setFloatArrayValue
public void ll_setFloatArrayValue(int fsRef, int position, float value)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setFloatArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.
-
ll_setStringArrayValue
public void ll_setStringArrayValue(int fsRef, int position, java.lang.String value)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setStringArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.
-
ll_setRefArrayValue
public void ll_setRefArrayValue(int fsRef, int position, int value)Description copied from interface:LowLevelCASSet the value of an integer array at a certain position.- Specified by:
ll_setRefArrayValuein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference of the array.position- The position whose value will be changed.value- The new value.
-
ll_getFSRefType
public int ll_getFSRefType(int fsRef)
Description copied from interface:LowLevelCASGet the type code for a FS reference. No bounds checks are performed. IffsRefis 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.- Specified by:
ll_getFSRefTypein interfaceLowLevelCAS- Parameters:
fsRef- The FS reference.- Returns:
- The type code for the FS reference; a return value of
0means that the fsRef is invalid, i.e.,NULL_FS_REF(but see remarks on bounds checking for this method).
-
ll_getFSRefType
public int ll_getFSRefType(int fsRef, boolean doChecks)Description copied from interface:LowLevelCASGet the type code for a FS reference.- Specified by:
ll_getFSRefTypein interfaceLowLevelCAS- 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
0means that the fsRef is invalid, i.e.,NULL_FS_REF(but see remarks on bounds checking for this method).
-
getLowLevelCAS
public LowLevelCAS getLowLevelCAS()
Description copied from interface:CASGet an instance of the low-level CAS. Low-level and regular CAS can be used in parallel, all data is always contained in both.Note: This is for internal use.
- Specified by:
getLowLevelCASin interfaceCAS- Returns:
- A low-level CAS.
- See Also:
LowLevelCAS
-
size
public int size()
Description copied from interface:CASEstimate the memory consumption of this CAS instance (in bytes).
-
getJCasClassLoader
public java.lang.ClassLoader getJCasClassLoader()
Description copied from interface:CASMgrGets the ClassLoader that should be used by the JCas to load the generated FS cover classes for this CAS.- Specified by:
getJCasClassLoaderin interfaceCASMgr- Returns:
- the JCas ClassLoder for this CAS
-
setJCasClassLoader
public void setJCasClassLoader(java.lang.ClassLoader classLoader)
Description copied from interface:CASMgrSets the ClassLoader that should be used by the JCas to load the generated FS cover classes for this CAS.- Specified by:
setJCasClassLoaderin interfaceCASMgr- Parameters:
classLoader- the JCas ClassLoder for this CAS
-
switchClassLoaderLockCas
public void switchClassLoaderLockCas(java.lang.Object userCode)
-
switchClassLoaderLockCasCL
public void switchClassLoaderLockCasCL(java.lang.ClassLoader newClassLoader)
-
switchClassLoader
public void switchClassLoader(java.lang.ClassLoader newClassLoader)
-
usingBaseClassLoader
public boolean usingBaseClassLoader()
-
restoreClassLoaderUnlockCas
public void restoreClassLoaderUnlockCas()
-
createFeatureValuePath
public FeatureValuePath createFeatureValuePath(java.lang.String featureValuePath) throws CASRuntimeException
Description copied from interface:CASCreate a feature-value path from a string.- Specified by:
createFeatureValuePathin interfaceCAS- Parameters:
featureValuePath- String representation of the feature-value path.- Returns:
- Feature-value path object.
- Throws:
CASRuntimeException- If the input string is not well-formed.
-
setOwner
public void setOwner(CasOwner aCasOwner)
Description copied from class:AbstractCas_ImplBaseProvides this CAS with a handle to the CASOwner that owns it. This is called by the framework when a CAS instance is created. This handle is used to implement the release() method by returning the CAS to its CasOwner.- Overrides:
setOwnerin classAbstractCas_ImplBase- Parameters:
aCasOwner- -
-
release
public void release()
Description copied from class:AbstractCas_ImplBaseDefault implementation that returns this CAS to its CasManager by callingCasOwner.releaseCas(AbstractCas).- Specified by:
releasein interfaceAbstractCas- Overrides:
releasein classAbstractCas_ImplBase
-
createByteArrayFS
public ByteArrayFS createByteArrayFS(int length) throws CASRuntimeException
Description copied from interface:CASCreate a new Byte array.- Specified by:
createByteArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
- Throws:
CASRuntimeException
-
createBooleanArrayFS
public BooleanArrayFS createBooleanArrayFS(int length) throws CASRuntimeException
Description copied from interface:CASCreate a new Boolean array.- Specified by:
createBooleanArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
- Throws:
CASRuntimeException
-
createShortArrayFS
public ShortArrayFS createShortArrayFS(int length) throws CASRuntimeException
Description copied from interface:CASCreate a new Short array.- Specified by:
createShortArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
- Throws:
CASRuntimeException
-
createLongArrayFS
public LongArrayFS createLongArrayFS(int length) throws CASRuntimeException
Description copied from interface:CASCreate a new Long array.- Specified by:
createLongArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
- Throws:
CASRuntimeException
-
createDoubleArrayFS
public DoubleArrayFS createDoubleArrayFS(int length) throws CASRuntimeException
Description copied from interface:CASCreate a new Double array.- Specified by:
createDoubleArrayFSin interfaceCAS- Parameters:
length- The length of the array.- Returns:
- The new array.
- Throws:
CASRuntimeException
-
ll_getByteValue
public byte ll_getByteValue(int fsRef, int featureCode)- Specified by:
ll_getByteValuein interfaceLowLevelCAS
-
ll_getByteValue
public byte ll_getByteValue(int fsRef, int featureCode, boolean doTypeChecks)- Specified by:
ll_getByteValuein interfaceLowLevelCAS
-
ll_getBooleanValue
public boolean ll_getBooleanValue(int fsRef, int featureCode)- Specified by:
ll_getBooleanValuein interfaceLowLevelCAS
-
ll_getBooleanValue
public boolean ll_getBooleanValue(int fsRef, int featureCode, boolean doTypeChecks)- Specified by:
ll_getBooleanValuein interfaceLowLevelCAS
-
ll_getShortValue
public short ll_getShortValue(int fsRef, int featureCode)- Specified by:
ll_getShortValuein interfaceLowLevelCAS
-
ll_getShortValue
public short ll_getShortValue(int fsRef, int featureCode, boolean doTypeChecks)- Specified by:
ll_getShortValuein interfaceLowLevelCAS
-
ll_getLongValue
public long ll_getLongValue(int offset)
-
ll_getLongValue
public long ll_getLongValue(int fsRef, int featureCode)- Specified by:
ll_getLongValuein interfaceLowLevelCAS
-
ll_getLongValueFeatOffset
public long ll_getLongValueFeatOffset(int fsRef, int featureOffset)
-
ll_getLongValue
public long ll_getLongValue(int fsRef, int featureCode, boolean doTypeChecks)- Specified by:
ll_getLongValuein interfaceLowLevelCAS
-
ll_getDoubleValue
public double ll_getDoubleValue(int fsRef, int featureCode)- Specified by:
ll_getDoubleValuein interfaceLowLevelCAS
-
ll_getDoubleValueFeatOffset
public double ll_getDoubleValueFeatOffset(int fsRef, int featureOffset)
-
ll_getDoubleValue
public double ll_getDoubleValue(int fsRef, int featureCode, boolean doTypeChecks)- Specified by:
ll_getDoubleValuein interfaceLowLevelCAS
-
ll_setBooleanValue
public void ll_setBooleanValue(int fsRef, int featureCode, boolean value)- Specified by:
ll_setBooleanValuein interfaceLowLevelCAS
-
ll_setBooleanValue
public void ll_setBooleanValue(int fsRef, int featureCode, boolean value, boolean doTypeChecks)- Specified by:
ll_setBooleanValuein interfaceLowLevelCAS
-
ll_setByteValue
public final void ll_setByteValue(int fsRef, int featureCode, byte value)- Specified by:
ll_setByteValuein interfaceLowLevelCAS
-
ll_setByteValue
public void ll_setByteValue(int fsRef, int featureCode, byte value, boolean doTypeChecks)- Specified by:
ll_setByteValuein interfaceLowLevelCAS
-
ll_setShortValue
public final void ll_setShortValue(int fsRef, int featureCode, short value)- Specified by:
ll_setShortValuein interfaceLowLevelCAS
-
ll_setShortValue
public void ll_setShortValue(int fsRef, int featureCode, short value, boolean doTypeChecks)- Specified by:
ll_setShortValuein interfaceLowLevelCAS
-
ll_setLongValue
public void ll_setLongValue(int fsRef, int featureCode, long value)- Specified by:
ll_setLongValuein interfaceLowLevelCAS
-
ll_setLongValue
public void ll_setLongValue(int fsRef, int featureCode, long value, boolean doTypeChecks)- Specified by:
ll_setLongValuein interfaceLowLevelCAS
-
ll_setDoubleValue
public void ll_setDoubleValue(int fsRef, int featureCode, double value)- Specified by:
ll_setDoubleValuein interfaceLowLevelCAS
-
ll_setDoubleValue
public void ll_setDoubleValue(int fsRef, int featureCode, double value, boolean doTypeChecks)- Specified by:
ll_setDoubleValuein interfaceLowLevelCAS
-
ll_getByteArrayValue
public byte ll_getByteArrayValue(int fsRef, int position)- Specified by:
ll_getByteArrayValuein interfaceLowLevelCAS
-
ll_getByteArrayValue
public byte ll_getByteArrayValue(int fsRef, int position, boolean doTypeChecks)- Specified by:
ll_getByteArrayValuein interfaceLowLevelCAS
-
ll_getBooleanArrayValue
public boolean ll_getBooleanArrayValue(int fsRef, int position)- Specified by:
ll_getBooleanArrayValuein interfaceLowLevelCAS
-
ll_getBooleanArrayValue
public boolean ll_getBooleanArrayValue(int fsRef, int position, boolean doTypeChecks)- Specified by:
ll_getBooleanArrayValuein interfaceLowLevelCAS
-
ll_getShortArrayValue
public short ll_getShortArrayValue(int fsRef, int position)- Specified by:
ll_getShortArrayValuein interfaceLowLevelCAS
-
ll_getShortArrayValue
public short ll_getShortArrayValue(int fsRef, int position, boolean doTypeChecks)- Specified by:
ll_getShortArrayValuein interfaceLowLevelCAS
-
ll_getLongArrayValue
public long ll_getLongArrayValue(int fsRef, int position)- Specified by:
ll_getLongArrayValuein interfaceLowLevelCAS
-
ll_getLongArrayValue
public long ll_getLongArrayValue(int fsRef, int position, boolean doTypeChecks)- Specified by:
ll_getLongArrayValuein interfaceLowLevelCAS
-
ll_getDoubleArrayValue
public double ll_getDoubleArrayValue(int fsRef, int position)- Specified by:
ll_getDoubleArrayValuein interfaceLowLevelCAS
-
ll_getDoubleArrayValue
public double ll_getDoubleArrayValue(int fsRef, int position, boolean doTypeChecks)- Specified by:
ll_getDoubleArrayValuein interfaceLowLevelCAS
-
ll_setByteArrayValue
public void ll_setByteArrayValue(int fsRef, int position, byte value)- Specified by:
ll_setByteArrayValuein interfaceLowLevelCAS
-
ll_setByteArrayValue
public void ll_setByteArrayValue(int fsRef, int position, byte value, boolean doTypeChecks)- Specified by:
ll_setByteArrayValuein interfaceLowLevelCAS
-
ll_setBooleanArrayValue
public void ll_setBooleanArrayValue(int fsRef, int position, boolean b)- Specified by:
ll_setBooleanArrayValuein interfaceLowLevelCAS
-
ll_setBooleanArrayValue
public void ll_setBooleanArrayValue(int fsRef, int position, boolean value, boolean doTypeChecks)- Specified by:
ll_setBooleanArrayValuein interfaceLowLevelCAS
-
ll_setShortArrayValue
public void ll_setShortArrayValue(int fsRef, int position, short value)- Specified by:
ll_setShortArrayValuein interfaceLowLevelCAS
-
ll_setShortArrayValue
public void ll_setShortArrayValue(int fsRef, int position, short value, boolean doTypeChecks)- Specified by:
ll_setShortArrayValuein interfaceLowLevelCAS
-
ll_setLongArrayValue
public void ll_setLongArrayValue(int fsRef, int position, long value)- Specified by:
ll_setLongArrayValuein interfaceLowLevelCAS
-
ll_setLongArrayValue
public void ll_setLongArrayValue(int fsRef, int position, long value, boolean doTypeChecks)- Specified by:
ll_setLongArrayValuein interfaceLowLevelCAS
-
ll_setDoubleArrayValue
public void ll_setDoubleArrayValue(int fsRef, int position, double d)- Specified by:
ll_setDoubleArrayValuein interfaceLowLevelCAS
-
ll_setDoubleArrayValue
public void ll_setDoubleArrayValue(int fsRef, int position, double value, boolean doTypeChecks)- Specified by:
ll_setDoubleArrayValuein interfaceLowLevelCAS
-
isAnnotationType
public boolean isAnnotationType(Type t)
-
isSubtypeOfAnnotationBaseType
public boolean isSubtypeOfAnnotationBaseType(int t)
- Parameters:
t- the type code to test- Returns:
- true if that type is subsumed by AnnotationBase type
-
createAnnotation
public AnnotationFS createAnnotation(Type type, int begin, int end)
Description copied from interface:CASCreate a new annotation. Note that you still need to insert the annotation into the index repository yourself.- Specified by:
createAnnotationin interfaceCAS- Parameters:
type- The type of the annotation.begin- The start of the annotation.end- The end of the annotation.- Returns:
- A new annotation object.
-
ll_createAnnotation
public int ll_createAnnotation(int typeCode, int begin, int end)
-
getAnnotationIndex
public <T extends AnnotationFS> AnnotationIndex<T> getAnnotationIndex()
The generic spec T extends AnnotationFS (rather than AnnotationFS) allows the method JCasImpl getAnnotationIndex to return Annotation instead of AnnotationFS- Specified by:
getAnnotationIndexin interfaceCAS- Type Parameters:
T- the Java class associated with the annotation index- Returns:
- the annotation index
-
getAnnotationIndex
public <T extends AnnotationFS> AnnotationIndex<T> getAnnotationIndex(Type type)
Description copied from interface:CASGet the standard annotation index restricted to a specific annotation type.- Specified by:
getAnnotationIndexin interfaceCAS- Type Parameters:
T- the topmost Java class corresponding to the type- Parameters:
type- The annotation type the index is restricted to.- Returns:
- The standard annotation index, restricted to
type. - See Also:
CAS.getAnnotationIndex(Type)
-
getAnnotationType
public Type getAnnotationType()
Description copied from interface:CASGet the type object for the annotation type.- Specified by:
getAnnotationTypein interfaceCAS- Returns:
- The annotation type.
- See Also:
CAS.getAnnotationType()
-
getEndFeature
public Feature getEndFeature()
Description copied from interface:CASGet the feature object for the annotation end feature.- Specified by:
getEndFeaturein interfaceCAS- Returns:
- The annotation end feature.
- See Also:
CAS.getEndFeature()
-
getBeginFeature
public Feature getBeginFeature()
Description copied from interface:CASGet the feature object for the annotation begin feature.- Specified by:
getBeginFeaturein interfaceCAS- Returns:
- The annotation begin feature.
- See Also:
CAS.getBeginFeature()
-
ll_createDocumentAnnotation
public int ll_createDocumentAnnotation(int length)
-
ll_createDocumentAnnotationNoIndex
public int ll_createDocumentAnnotationNoIndex(int begin, int end)
-
updateDocumentAnnotation
public void updateDocumentAnnotation()
-
getDocumentAnnotation
public <T extends AnnotationFS> T getDocumentAnnotation()
Generic issue: The returned document annotation could be either an instance of DocumentAnnotation or an instance of AnnotationImpl - the Java cover class used for annotations when JCas is not being used.- Specified by:
getDocumentAnnotationin interfaceCAS- Type Parameters:
T- the Java class for the document annotation. Could be the JCas cover class or FeatureStructure- Returns:
- The document annotation, or
nullif there is none. The return value is the JCas cover class or the plain Java cover class for FeatureStructures if JCas is not in use.
-
ll_getDocumentAnnotation
public int ll_getDocumentAnnotation()
- Returns:
- the fs addr of the document annotation found via the index, or 0 if not there
-
getDocumentLanguage
public java.lang.String getDocumentLanguage()
Description copied from interface:CASGets the language code for this document from the language feature of the special instance of the DocumentationAnnotation associated with this CAS.- Specified by:
getDocumentLanguagein interfaceCAS- Returns:
- language identifier
-
getDocumentText
public java.lang.String getDocumentText()
Description copied from interface:CASGet the document text.- Specified by:
getDocumentTextin interfaceCAS- Returns:
- The text being analyzed, or
nullif not set.
-
getSofaDataString
public java.lang.String getSofaDataString()
Description copied from interface:CASGet the Sofa Data String (a.k.a. the document text).- Specified by:
getSofaDataStringin interfaceCAS- Returns:
- The Sofa data string, or
nullif not set.
-
getSofaDataArray
public FeatureStructure getSofaDataArray()
Description copied from interface:CASGet the Sofa data array.- Specified by:
getSofaDataArrayin interfaceCAS- Returns:
- The Sofa Data being analyzed, or
nullif not set.
-
getSofaDataURI
public java.lang.String getSofaDataURI()
Description copied from interface:CASGet the Sofa data array.- Specified by:
getSofaDataURIin interfaceCAS- Returns:
- The Sofa URI being analyzed, or
nullif not set.
-
getSofaDataStream
public java.io.InputStream getSofaDataStream()
Description copied from interface:CASGet the Sofa data as a byte stream.- Specified by:
getSofaDataStreamin interfaceCAS- Returns:
- A stream handle to the Sofa Data, or
nullif not set.
-
getSofaMimeType
public java.lang.String getSofaMimeType()
Description copied from interface:CASGet the mime type of the Sofa data being analyzed.- Specified by:
getSofaMimeTypein interfaceCAS- Returns:
- the mime type of the Sofa
-
getSofa
public SofaFS getSofa()
Description copied from interface:CASGet the Sofa feature structure associated with this CAS view.
-
ll_getSofa
public int ll_getSofa()
- Specified by:
ll_getSofain interfaceLowLevelCAS- Returns:
- the addr of the sofaFS associated with this view, or 0
-
getViewName
public java.lang.String getViewName()
Description copied from interface:CASGet the view name. The view name is the same as the name of the view's Sofa, retrieved by getSofa().getSofaID(), except for the initial View before its Sofa has been created.- Specified by:
getViewNamein interfaceCAS- Returns:
- The name of the view
-
setDocumentLanguage
public void setDocumentLanguage(java.lang.String languageCode)
Description copied from interface:CASSets the language for this document. This value sets the language feature of the special instance of DocumentAnnotation associated with this CAS.- Specified by:
setDocumentLanguagein interfaceCAS- Parameters:
languageCode- -
-
setDocumentText
public void setDocumentText(java.lang.String text)
Description copied from interface:CASSet the document text. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.- Specified by:
setDocumentTextin interfaceCAS- Parameters:
text- The text to be analyzed.
-
setSofaDataString
public void setSofaDataString(java.lang.String text, java.lang.String mime) throws CASRuntimeExceptionDescription copied from interface:CASSet the document text. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.- Specified by:
setSofaDataStringin interfaceCAS- Parameters:
text- The text to be analyzed.mime- The mime type of the data- Throws:
CASRuntimeException- If the Sofa data has already been set.
-
setSofaDataArray
public void setSofaDataArray(FeatureStructure array, java.lang.String mime) throws CASRuntimeException
Description copied from interface:CASSet the Sofa data as an ArrayFS. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.- Specified by:
setSofaDataArrayin interfaceCAS- Parameters:
array- The ArrayFS to be analyzed.mime- The mime type of the data- Throws:
CASRuntimeException- If the Sofa data has already been set.
-
setSofaDataURI
public void setSofaDataURI(java.lang.String uri, java.lang.String mime) throws CASRuntimeExceptionDescription copied from interface:CASSet the Sofa data as a URI. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.- Specified by:
setSofaDataURIin interfaceCAS- Parameters:
uri- The URI of the data to be analyzed.mime- The mime type of the data- Throws:
CASRuntimeException- If the Sofa data has already been set.
-
setCurrentComponentInfo
public void setCurrentComponentInfo(ComponentInfo info)
Description copied from interface:CASInforms the CAS of relevant information about the component that is currently processing it. This is called by the framework automatically; users do not need to call it.- Specified by:
setCurrentComponentInfoin interfaceCAS- Parameters:
info- information about the component that is currently processing this CAS.
-
addFsToIndexes
public void addFsToIndexes(FeatureStructure fs)
Description copied from interface:CASAdd a feature structure to all appropriate indexes in the repository associated with this CAS View. If no indexes exist for the type of FS that you are adding, then a bag (unsorted) index will be automatically created.Important: after you have called
addFsToIndexes(...)on a FS, do not change the values of any features used for indexing. If you do, the index will become corrupted and may be unusable. If you need to change an index feature value, first callremoveFsFromIndexes(...)on the FS, change the feature values, then calladdFsToIndexes(...)again.- Specified by:
addFsToIndexesin interfaceCAS- Parameters:
fs- The Feature Structure to be added.- See Also:
CAS.addFsToIndexes(FeatureStructure fs)
-
removeFsFromIndexes
public void removeFsFromIndexes(FeatureStructure fs)
Description copied from interface:CASRemove a feature structure from all indexes in the repository associated with this CAS View. The remove operation removes the exact fs from the indexes, unlike operations such as moveTo which use the fs argument as a template. It is not an error if the FS is not present in the indexes.- Specified by:
removeFsFromIndexesin interfaceCAS- Parameters:
fs- The Feature Structure to be removed.- See Also:
CAS.removeFsFromIndexes(FeatureStructure fs)
-
ll_getSofaCasView
public CASImpl ll_getSofaCasView(int addr)
- Specified by:
ll_getSofaCasViewin interfaceLowLevelCAS- Parameters:
addr- the heap address of a feature structure which is a subtype of AnnotationBase- Returns:
- the view associated with this FS where it could be indexed
-
getViewIterator
public java.util.Iterator<CAS> getViewIterator()
Description copied from interface:CASGet iterator over all views in this CAS. Each view provides access to Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.- Specified by:
getViewIteratorin interfaceCAS- Returns:
- an iterator which returns all views. Each object returned by the iterator is of type CAS.
-
getViewIterator
public java.util.Iterator<CAS> getViewIterator(java.lang.String localViewNamePrefix)
Description copied from interface:CASGet iterator over all views with the given name prefix. Each view provides access to Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.When passed the prefix namePrefix, the iterator will return all views who name is either exactly equal to namePrefix or is of the form namePrefix
.suffix, where suffix can be any String.- Specified by:
getViewIteratorin interfaceCAS- Parameters:
localViewNamePrefix- the local name prefix, before any sofa name mapping is done, for this view (note: this is the same as the associated Sofa name prefix).- Returns:
- an iterator which returns all views with the given name prefix. Each object returned by the iterator is of type CAS.
-
doUseJcasCache
public final boolean doUseJcasCache()
-
protectIndexes
public java.lang.AutoCloseable protectIndexes()
protectIndexes Within the scope of protectIndexes, feature updates are checked, and if found to be a key, and the FS is in a corruptable index, then the FS is removed from the indexes (in all necessary views) (perhaps multiple times if the FS was added to the indexes multiple times), and this removal is recorded on an new instance of FSsTobeReindexed appended to fssTobeAddedback. Later, when the protectIndexes is closed, the tobe items are added back to the indies.- Specified by:
protectIndexesin interfaceCAS- Returns:
- an object used to record things that need adding back
-
protectIndexes
public void protectIndexes(java.lang.Runnable r)
Description copied from interface:CASRuns the code in the runnable inside a protection block, where any modifications to features done while in this block will be done in a way to protect any indexes which otherwise might become corrupted by the update action; the protection is achieved by temporarily removing the FS (if it is in the indexes), before the update happens. At the end of the block, affected indexes have any removed-under-the-covers FSs added back.- Specified by:
protectIndexesin interfaceCAS- Parameters:
r- an inner block of code to be run with
-
createMarker
public Marker createMarker()
The current implementation only supports 1 marker call per CAS. Subsequent calls will throw an error. The design is intended to support (at some future point) multiple markers; for this to work, the intent is to extend the MarkerImpl to keep track of indexes into these IntVectors specifying where that marker starts/ends.- Specified by:
createMarkerin interfaceCAS- Returns:
- a marker object.
-
getCurrentMark
public MarkerImpl getCurrentMark()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-