Class JCasImpl.JCasSharedView

java.lang.Object
org.apache.uima.jcas.impl.JCasImpl.JCasSharedView
Enclosing class:
JCasImpl

private static class JCasImpl.JCasSharedView extends Object
  • Field Details

    • cAddr2Jfs

      private JCasHashMap cAddr2Jfs
      key = CAS addr, value = corresponding Java instance. The Java instance may be a JCas cover object, or a non-JCas Java cover object of type FeatureStructureImplC This impl was changed in May 2007 to a design of one cover object per CAS object, when dealing with multiple views. This implements better semantics for co-located components sharing these objects - they all get to share the same object, independent of which view(s) the object may be indexed in. For cases where the user has augmented the definition of the JCas object to have native Java fields, this design is closer to the user's expectation. The only use for multiple objects, previously, was to implement the 0-argument version of addToIndexes and removeFromIndexes. The new implementation will come close (but not be perfectly the same) as the old implementation, by doing the following: Changing the "new" and get/next from iterator methods to set the _Type field of the retrieved cover class object (or new object) to the correct view. Deref objects follow many paths. They all have a default view they create the object with respect to. A simple deref uses the same cas ref the original object had.
    • cAddr2JfsByClassLoader

      private final Map<ClassLoader,JCasHashMap> cAddr2JfsByClassLoader
    • stringArray0L

      public StringArray stringArray0L
    • integerArray0L

      public IntegerArray integerArray0L
    • floatArray0L

      public FloatArray floatArray0L
    • fsArray0L

      public FSArray fsArray0L
    • errorSet

      public Collection<Exception> errorSet
    • currentClassLoader

      public ClassLoader currentClassLoader
  • Constructor Details

    • JCasSharedView

      private JCasSharedView(CASImpl aCAS, boolean useJcasCache)
  • Method Details

    • setupJCasHashMap

      private void setupJCasHashMap(ClassLoader cl, boolean isUsedCache, int initialSize)