Interface JCas

  • All Superinterfaces:
    AbstractCas
    All Known Implementing Classes:
    JCasImpl

    public interface JCas
    extends AbstractCas
    Java Cover Classes based Object-oriented CAS (Common Analysis System) API.

    A JCas object provides the starting point for working with the CAS using Java Cover Classes for each type, generated by the utility JCasGen.

    This interface extends the CAS Interface, providing all the same functionality, plus some specific to the JCas.

    It supports the creation of new instances of CAS types, using the normal Java "new" operator.

    You can create a JCas object from a CAS object by calling the getJCas() method on the CAS object.

    • Field Detail

      • INVALID_FEATURE_CODE

        static final int INVALID_FEATURE_CODE
        (internal use)
        See Also:
        Constant Field Values
    • Method Detail

      • getFSIndexRepository

        FSIndexRepository getFSIndexRepository()
        Returns:
        the FSIndexRepository object for this Cas
      • getCas

        CAS getCas()
        Returns:
        the CAS object for this JCas instantiation
      • getType

        TOP_Type getType​(int i)
        Backwards Compatibility only - throws unsupported operation exception In UIMA V2, this previously got the JCas _Type instance for a particular CAS type constant In UIMA V3, there is no _Type instance, so this throws an exception
        Parameters:
        i - the CAS type constant, written as Foo.type
        Returns:
        none - throws an exception
      • getType

        @Deprecated
        TOP_Type getType​(TOP instance)
        Deprecated.
        use instance.jcasType instead - faster
        get the JCas x_Type instance for a particular Java instance of a type
        Parameters:
        instance - instance
        Returns:
        the associated xxx_Type instance
      • getCasType

        Type getCasType​(int i)
        Given Foo.type, return the corresponding CAS Type object. This is useful in the methods which require a CAS Type, for instance iterator creation.
        Parameters:
        i - - index returned by Foo.type
        Returns:
        the CAS Java Type object for this CAS Type.
      • getRequiredFeatureDE

        @Deprecated
        default Feature getRequiredFeatureDE​(Type t,
                                             java.lang.String s,
                                             java.lang.String rangeName,
                                             boolean featOkTst)
        Deprecated.
      • putJfsFromCaddr

        @Deprecated
        default void putJfsFromCaddr​(int casAddr,
                                     FeatureStructure fs)
        Deprecated.
      • getJfsFromCaddr

        default <T extends TOP> T getJfsFromCaddr​(int casAddr)
      • checkArrayBounds

        default void checkArrayBounds​(int fsRef,
                                      int pos)
      • throwFeatMissing

        default void throwFeatMissing​(java.lang.String feat,
                                      java.lang.String type)
      • getSofa

        @Deprecated
        Sofa getSofa​(SofaID sofaID)
        Deprecated.
        As of v2.0, use {#getView(String)}. From the view you can access the Sofa data, or call getSofa() if you truly need to access the SofaFS object.
        Parameters:
        sofaID - -
        Returns:
        the Sofa
      • getSofa

        Sofa getSofa()
        Get the Sofa feature structure associated with this JCas view.
        Returns:
        The SofaFS associated with this JCas view.
      • createView

        JCas createView​(java.lang.String sofaID)
                 throws CASException
        Create 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 setSofaDataArray(FeatureStructure, String), setSofaDataString(String, String) or setSofaDataURI(String, String) on the JCas view returned by this method.

        Parameters:
        sofaID - the local view 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.
        Throws:
        CASException - - if a View with this name already exists in this CAS
      • getJCas

        JCas getJCas​(Sofa sofa)
              throws CASException
        Create a JCas view for a Sofa.
        Parameters:
        sofa - a Sofa feature structure in this CAS.
        Returns:
        The JCas view for the given Sofa.
        Throws:
        CASException - -
      • getJFSIndexRepository

        JFSIndexRepository getJFSIndexRepository()
        Gets the JCas-based interface to the Index Repository. Provides the same functionality as getFSIndexRepository() except that the methods that take a "type" argument take type arguments obtainable easily from the JCas type.
        Returns:
        the JCas-based interface to the index repository
      • getDocumentAnnotationFs

        TOP getDocumentAnnotationFs()
        Gets the document annotation. The object returned from this method can be typecast to org.apache.uima.jcas.tcas.DocumentAnnotation if that class is loaded (it may not be...)

        The reason that the return type of this method is not DocumentAnnotation is because that class may not be loaded, or it may be loaded under a different class loader when using the UIMA Extension ClassLoader to load annotator classes.

        Returns:
        The one instance of the DocumentAnnotation annotation.
        See Also:
        CAS.getDocumentAnnotation()
      • getStringArray0L

        @Deprecated
        default StringArray getStringArray0L()
        Deprecated.
        renamed emptyXXXArray
        A constant for each cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same valuee because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a StringArray
      • emptyStringArray

        default StringArray emptyStringArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a StringArray
      • getIntegerArray0L

        @Deprecated
        default IntegerArray getIntegerArray0L()
        Deprecated.
        renamed emptyXXXArray
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of an IntegerArray
      • emptyIntegerArray

        default IntegerArray emptyIntegerArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of an IntegerArray
      • getFloatArray0L

        @Deprecated
        default FloatArray getFloatArray0L()
        Deprecated.
        renamed emptyXXXArray
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a FloatArray
      • emptyFloatArray

        default FloatArray emptyFloatArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a FloatArray
      • getFSArray0L

        @Deprecated
        default FSArray getFSArray0L()
        Deprecated.
        renamed emptyXXXArray
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset. See also the CAS API
        Returns:
        0-length instance of a FSArray
      • emptyFSArray

        default FSArray emptyFSArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset. See also the CAS API
        Returns:
        0-length instance of a FSArray
      • emptyFSArray

        default <T extends TOPFSArray<T> emptyFSArray​(java.lang.Class<T> clazz)
        Retrieve a lazily-created constant from the cas which holds a 0-length instance of a subtype of FSArray. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset. See also the CAS API
        Type Parameters:
        T - the particular FeatureStructure type
        Parameters:
        clazz - the class of the component type the array is to contain
        Returns:
        0-length instance of a FSArray, which is associated with the element type T
      • emptyByteArray

        default ByteArray emptyByteArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a ByteArray
      • emptyShortArray

        default ShortArray emptyShortArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a ShortArray
      • emptyLongArray

        default LongArray emptyLongArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a LongArray
      • emptyDoubleArray

        default DoubleArray emptyDoubleArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a DoubleArray
      • emptyBooleanArray

        default BooleanArray emptyBooleanArray()
        Retrieve a lazily-created constant from the cas which holds a 0-length instance. Since this can be a common value, we avoid creating multiple copies of it. All uses can use the same value because it is not updatable (it has no subfields). This is initialized lazily on first reference, and reset when the CAS is reset.
        Returns:
        0-length instance of a DoubleArray
      • processInit

        @Deprecated
        void processInit()
        Deprecated.
        not required, does nothing
        initialize the JCas for new Cas content. Not used, does nothing.
      • getView

        JCas getView​(java.lang.String localViewName)
              throws CASException
        Get 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.
        Parameters:
        localViewName - 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.
        Throws:
        CASException - passthru
      • getView

        JCas getView​(SofaFS aSofa)
              throws CASException
        Get 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.
        Parameters:
        aSofa - a Sofa feature structure in the CAS
        Returns:
        The view for the given Sofa
        Throws:
        CASException - passthru
      • getTypeSystem

        TypeSystem getTypeSystem()
                          throws CASRuntimeException
        Return the type system of this CAS instance.
        Returns:
        The type system, or null if none is available.
        Throws:
        CASRuntimeException - If the type system has not been committed.
      • createSofa

        @Deprecated
        SofaFS createSofa​(SofaID sofaID,
                          java.lang.String mimeType)
        Deprecated.
        As of v2.0, use createView(String) instead.
        Create a Subject of Analysis. The new sofaFS is automatically added to the SofaIndex.
        Parameters:
        sofaID - the SofA ID
        mimeType - the mime type
        Returns:
        The sofaFS.
      • getSofaIterator

        FSIterator<SofaFS> getSofaIterator()
        Get iterator for all SofaFS in the CAS.
        Returns:
        an iterator over SofaFS.
      • createFilteredIterator

        <T extends FeatureStructureFSIterator<T> createFilteredIterator​(FSIterator<T> it,
                                                                          FSMatchConstraint cons)
        Create an iterator over structures satisfying a given constraint. Constraints are described in the javadocs for ConstraintFactory and related classes.
        Type Parameters:
        T - the particular FeatureStructure type
        Parameters:
        it - The input iterator.
        cons - The constraint specifying what structures should be returned.
        Returns:
        An iterator over FSs.
      • getConstraintFactory

        ConstraintFactory getConstraintFactory()
        Get a constraint factory. A constraint factory is a simple way of creating FSMatchConstraints.
        Returns:
        A constraint factory to create new FS constraints.
      • createFeaturePath

        FeaturePath createFeaturePath()
        Create a feature path. This is mainly useful for creating FSMatchConstraints.
        Returns:
        A new, empty feature path.
      • getIndexRepository

        FSIndexRepository getIndexRepository()
        Get the index repository.
        Returns:
        The index repository, or null if none is available.
      • fs2listIterator

        <T extends FeatureStructure> java.util.ListIterator<T> fs2listIterator​(FSIterator<T> it)
        Wrap a standard Java ListIterator around an FSListIterator. Use if you feel more comfortable with java style iterators.
        Type Parameters:
        T - The particular Feature Structure type
        Parameters:
        it - The FSListIterator to be wrapped.
        Returns:
        An equivalent ListIterator.
      • reset

        void reset()
            throws CASAdminException
        Reset 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.
        Throws:
        CASRuntimeException - When called out of sequence.
        CASAdminException
        See Also:
        CASMgr
      • getViewName

        java.lang.String getViewName()
        Get 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.
        Returns:
        The name of the view
      • size

        int size()
        Estimate the memory consumption of this CAS instance (in bytes).
        Returns:
        The estimated memory used by this CAS instance.
      • createFeatureValuePath

        FeatureValuePath createFeatureValuePath​(java.lang.String featureValuePath)
                                         throws CASRuntimeException
        Create a feature-value path from a string.
        Parameters:
        featureValuePath - String representation of the feature-value path.
        Returns:
        Feature-value path object.
        Throws:
        CASRuntimeException - If the input string is not well-formed.
      • setDocumentText

        void setDocumentText​(java.lang.String text)
                      throws CASRuntimeException
        Set the document text. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.
        Parameters:
        text - The text to be analyzed.
        Throws:
        CASRuntimeException - If the Sofa data has already been set.
      • setSofaDataString

        void setSofaDataString​(java.lang.String text,
                               java.lang.String mimetype)
                        throws CASRuntimeException
        Set the document text. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.
        Parameters:
        text - The text to be analyzed.
        mimetype - The mime type of the data
        Throws:
        CASRuntimeException - If the Sofa data has already been set.
      • getDocumentText

        java.lang.String getDocumentText()
        Get the document text.
        Returns:
        The text being analyzed.
      • getSofaDataString

        java.lang.String getSofaDataString()
        Get the Sofa Data String (a.k.a. the document text).
        Returns:
        The Sofa data string.
      • setDocumentLanguage

        void setDocumentLanguage​(java.lang.String languageCode)
                          throws CASRuntimeException
        Sets the language for this document. This value sets the language feature of the special instance of DocumentAnnotation associated with this CAS.
        Parameters:
        languageCode - the language code
        Throws:
        CASRuntimeException - passthru
      • getDocumentLanguage

        java.lang.String getDocumentLanguage()
        Gets the language code for this document from the language feature of the special instance of the DocumentationAnnotation associated with this CAS.
        Returns:
        language identifier
      • setSofaDataArray

        void setSofaDataArray​(FeatureStructure array,
                              java.lang.String mime)
                       throws CASRuntimeException
        Set the Sofa data as an ArrayFS. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.
        Parameters:
        array - The ArrayFS to be analyzed.
        mime - The mime type of the data
        Throws:
        CASRuntimeException - If the Sofa data has already been set.
      • getSofaDataArray

        FeatureStructure getSofaDataArray()
        Get the Sofa data array.
        Returns:
        The Sofa Data being analyzed.
      • setSofaDataURI

        void setSofaDataURI​(java.lang.String uri,
                            java.lang.String mime)
                     throws CASRuntimeException
        Set the Sofa data as a URI. Once set, Sofa data is immutable, and cannot be set again until the CAS has been reset.
        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.
      • getSofaDataURI

        java.lang.String getSofaDataURI()
        Get the Sofa data array.
        Returns:
        The Sofa Data being analyzed.
      • getSofaDataStream

        java.io.InputStream getSofaDataStream()
        Get the Sofa data as a byte stream.
        Returns:
        A stream handle to the Sofa Data.
      • getSofaMimeType

        java.lang.String getSofaMimeType()
        Get the mime type of the Sofa data being analyzed.
        Returns:
        the mime type of the Sofa
      • addFsToIndexes

        void addFsToIndexes​(FeatureStructure fs)
        Add a feature structure to all appropriate indexes in the repository associated with this CAS View.

        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 call removeFsFromIndexes(...) on the FS, change the feature values, then call addFsToIndexes(...) again.

        Parameters:
        fs - The Feature Structure to be added.
        Throws:
        java.lang.NullPointerException - If the fs parameter is null.
      • removeFsFromIndexes

        void removeFsFromIndexes​(FeatureStructure fs)
        Remove a feature structure from all indexes in the repository associated with this CAS View.
        Parameters:
        fs - The Feature Structure to be removed.
        Throws:
        java.lang.NullPointerException - If the fs parameter is null.
      • removeAllIncludingSubtypes

        void removeAllIncludingSubtypes​(int i)
        Remove all feature structures of a given type (including subtypes) from all indexes in the repository associated with this CAS View.
        Parameters:
        i - the CAS type constant, written as Foo.type (for a given JCas Type) or anInstanceOfFoo.getTypeIndexID(), for an instance
      • removeAllIncludingSubtypes

        default <T extends TOP> void removeAllIncludingSubtypes​(java.lang.Class<T> clazz)
        Remove all instances of type, including all subtypes from all indexes in the repository view.
        Type Parameters:
        T - the type to remove
        Parameters:
        clazz - the JCas class of the type to remove. To remove all use TOP.class
        Throws:
        java.lang.NullPointerException - if the clazz parameter is null.
      • removeAllExcludingSubtypes

        void removeAllExcludingSubtypes​(int i)
        Remove all feature structures of a given type (excluding subtypes) from all indexes in the repository associated with this CAS View.
        Parameters:
        i - the CAS type constant, written as Foo.type (for a given JCas Type) or anInstanceOfFoo.getTypeIndexID(), for an instance
      • removeAllExcludingSubtypes

        default <T extends TOP> void removeAllExcludingSubtypes​(java.lang.Class<T> clazz)
        Remove all instances of just this type, excluding subtypes, from all indexes in the repository view.
        Type Parameters:
        T - the type to remove
        Parameters:
        clazz - the JCas Class of the type to remove
        Throws:
        java.lang.NullPointerException - if the type parameter is null.
      • getCasType

        Type getCasType​(java.lang.Class<? extends FeatureStructure> clazz)
        Return the UIMA Type object corresponding to this JCas's JCas cover class (Note: different JCas's, with different type systems, may share the same cover class impl)
        Parameters:
        clazz - a JCas cover class
        Returns:
        the corresponding UIMA Type object
      • getAnnotationIndex

        AnnotationIndex<Annotation> getAnnotationIndex()
        Get the standard annotation index.
        Returns:
        The standard annotation index.
      • getAnnotationIndex

        <T extends AnnotationAnnotationIndex<T> getAnnotationIndex​(Type type)
                                                              throws CASRuntimeException
        Get the standard annotation index restricted to a specific annotation type.
        Type Parameters:
        T - the Java class corresponding to type
        Parameters:
        type - The annotation type the index is restricted to.
        Returns:
        The standard annotation index, restricted to type.
        Throws:
        CASRuntimeException
      • getAnnotationIndex

        <T extends AnnotationAnnotationIndex<T> getAnnotationIndex​(int type)
                                                              throws CASRuntimeException
        Get the standard annotation index restricted to a specific annotation type.
        Type Parameters:
        T - the Java class corresponding to type
        Parameters:
        type - The annotation type the index is restricted to, passed as an integer using the form MyAnnotationType.type
        Returns:
        The standard annotation index, restricted to type.
        Throws:
        CASRuntimeException - -
      • getAnnotationIndex

        <T extends AnnotationAnnotationIndex<T> getAnnotationIndex​(java.lang.Class<T> clazz)
                                                              throws CASRuntimeException
        Get the standard annotation index restricted to a specific annotation type.
        Type Parameters:
        T - the Java class clazz
        Parameters:
        clazz - The JCas cover class for the annotation type the index is restricted to,
        Returns:
        The standard annotation index, restricted to type.
        Throws:
        CASRuntimeException - -
      • getAllIndexedFS

        default <T extends TOPFSIterator<T> getAllIndexedFS​(Type type)
        Gets an iterator over all indexed FeatureStructures of the specified Type (and any of its subtypes). The elements are returned in arbitrary order, and duplicates (if they exist) are not removed.
        Type Parameters:
        T - the Java clazz of the returned types
        Parameters:
        type - - the type specifying which type and subtypes are included
        Returns:
        An iterator that returns all indexed FeatureStructures of the JCas clazz and its subtypes, in no particular order.
      • getAllIndexedFS

        <T extends TOPFSIterator<T> getAllIndexedFS​(java.lang.Class<T> clazz)
        Gets an iterator over all indexed FeatureStructures of the specified Type (and any of its subtypes). The elements are returned in arbitrary order, and duplicates (if they exist) are not removed.
        Type Parameters:
        T - the Java clazz
        Parameters:
        clazz - - the JCas Java class specifing which type and subtypes are included
        Returns:
        An iterator that returns all indexed FeatureStructures of the JCas clazz and its subtypes, in no particular order.
      • getIndexedFSs

        default <T extends TOP> java.util.Collection<T> getIndexedFSs​(Type type)
        Returns an unmodifiable collection of all the FSs that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
        Type Parameters:
        T - The Java class associated with type
        Parameters:
        type - the type of Feature Structures to include (including subtypes)
        Returns:
        an unmodifiable, unordered collection of all indexed (in this view) Feature Structures of the specified type (including subtypes)
      • getIndexedFSs

        default <T extends TOP> java.util.Collection<T> getIndexedFSs​(java.lang.Class<T> clazz)
        Returns an unmodifiable collection of all the FSs that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
        Type Parameters:
        T - The Java class associated with type
        Parameters:
        clazz - The JCas class corresponding to the type
        Returns:
        an unmodifiable, unordered collection of all indexed (in this view) Feature Structures of the specified type (including subtypes)
      • getIndexedFSs

        default java.util.Collection<TOP> getIndexedFSs()
        Returns an unmodifiable collection of all of the FSs that are indexed in this view, in an arbitrary order. Subsequent modifications to the indexes do not affect this collection.
        Returns:
        an unmodifiable, unordered collection of all indexed (in this view) Feature Structures of the specified type (including subtypes)
      • getViewIterator

        java.util.Iterator<JCas> getViewIterator()
                                          throws CASException
        Get iterator over all views in this JCas. Each view provides access to Sofa data and the index repository that contains metadata (annotations and other feature structures) pertaining to that Sofa.
        Returns:
        an iterator which returns all views. Each object returned by the iterator is of type JCas.
        Throws:
        CASException - -
      • getViewIterator

        java.util.Iterator<JCas> getViewIterator​(java.lang.String localViewNamePrefix)
                                          throws CASException
        Get 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.

        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 JCas.
        Throws:
        CASException - -
      • protectIndexes

        java.lang.AutoCloseable protectIndexes()
        Call this method to set up a region, ended by a close() call on the returned object, You can use this or the protectIndexes(Runnable) method to protected the indexes.

        This approach allows arbitrary code between the protectIndexes and the associated close method.

        The close method is best done in a finally block, or using the try-with-resources statement in Java 8.

        Returns:
        an object used to record things that need adding back
      • protectIndexes

        void protectIndexes​(java.lang.Runnable runnable)
        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. At the end of the block, affected indexes have any removed-under-the-covers FSs added back.
        Parameters:
        runnable - code to execute while protecting the indexes.
      • getIndex

        <T extends TOPFSIndex<T> getIndex​(java.lang.String label,
                                            java.lang.Class<T> clazz)
        Retrieve an index according to a label and a type specified using a JCas class. The type is used to narrow down the index of a more general type to a more specific one. Generics: T is the associated Java cover class for the type.
        Type Parameters:
        T - the Java clazz
        Parameters:
        label - The name of the index.
        clazz - The JCas class (mostly likely written as MyJCasClass.class), which must correspond to a subtype of the type of the index.
        Returns:
        The specified, or null if an index with that name doesn't exist.
        Throws:
        CASRuntimeException - When clazz doesn't correspond to a subtype of the index's type.
      • select

        default <T extends TOPSelectFSs<T> select()
        Type Parameters:
        T - the Type of the elements being accessed
        Returns:
        a newly created selection object for accessing feature structures
      • select

        default <N extends TOPSelectFSs<N> select​(Type type)
        Type Parameters:
        N - the Type of the elements being accessed
        Parameters:
        type - specifies the type (and subtypes of that type) to access
        Returns:
        a newly created selection object for accessing feature structures of that type and its subtypes
        Throws:
        java.lang.IllegalArgumentException - if no type is specified.
      • select

        default <N extends TOPSelectFSs<N> select​(java.lang.Class<N> clazz)
        Type Parameters:
        N - the Type of the elements being accessed
        Parameters:
        clazz - a JCas class corresponding to the type (and subtypes of that type) to access
        Returns:
        a newly created selection object for accessing feature structures of that type and its subtypes
        Throws:
        java.lang.IllegalArgumentException - if no type is specified.
      • select

        default <N extends TOPSelectFSs<N> select​(int jcasType)
        Type Parameters:
        N - the Type of the elements being accessed
        Parameters:
        jcasType - the "type" field from the JCas class corresponding to the type (and subtypes of that type) to access
        Returns:
        a newly created selection object for accessing feature structures of that type and its subtypes
      • select

        default <N extends TOPSelectFSs<N> select​(java.lang.String fullyQualifiedTypeName)
        Type Parameters:
        N - the Type of the elements being accessed
        Parameters:
        fullyQualifiedTypeName - the string name of the type to access
        Returns:
        a newly created selection object for accessing feature structures of that type and its subtypes
        Throws:
        java.lang.IllegalArgumentException - if no type is specified.
      • emptyList

        default <T extends TOPEmptyList emptyList​(java.lang.Class<T> clazz)
        Type Parameters:
        T - the type of the list, e.g FloatList
        Parameters:
        clazz - the JCas class of the list, e.g. FloatList.class
        Returns:
        - the shared (in this CAS) instance of the empty list (immutable)
      • emptyFloatList

        default EmptyFloatList emptyFloatList()
        Returns:
        a lazily created shared (for this CAS) empty list
      • emptyFSList

        default <T extends TOPEmptyFSList<T> emptyFSList()
        Type Parameters:
        T - the type of the FeatureStructures in the FSList
        Returns:
        a lazily created shared (for this CAS) empty list
      • emptyIntegerList

        default EmptyIntegerList emptyIntegerList()
        Returns:
        a lazily created shared (for this CAS) empty list
      • emptyStringList

        default EmptyStringList emptyStringList()
        Returns:
        a lazily created shared (for this CAS) empty list
      • emptyArray

        default <T extends TOPCommonArrayFS emptyArray​(java.lang.Class<T> clazz)
        Type Parameters:
        T - the type of the list, e.g FloatArray
        Parameters:
        clazz - the JCas class of the Array, e.g. FloatArray.class
        Returns:
        a shared (in this CAS) instance of the empty array (immutable)