You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2017/09/18 13:48:38 UTC

svn commit: r1808710 - /uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java

Author: schor
Date: Mon Sep 18 13:48:38 2017
New Revision: 1808710

URL: http://svn.apache.org/viewvc?rev=1808710&view=rev
Log:
[UIMA-5573]add common support for lazy JCas init

Modified:
    uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java

Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java
URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java?rev=1808710&r1=1808709&r2=1808710&view=diff
==============================================================================
--- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java (original)
+++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FeatureStructureImplC.java Mon Sep 18 13:48:38 2017
@@ -19,6 +19,7 @@
 
 package org.apache.uima.cas.impl;
 
+import java.lang.invoke.MethodHandle;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -26,6 +27,7 @@ import java.util.Set;
 import java.util.function.IntFunction;
 
 import org.apache.uima.UIMARuntimeException;
+import org.apache.uima.UIMA_IllegalStateException;
 import org.apache.uima.cas.CAS;
 import org.apache.uima.cas.CASRuntimeException;
 import org.apache.uima.cas.CommonArrayFS;
@@ -1666,16 +1668,25 @@ public class FeatureStructureImplC imple
 //    _flags = (_flags & ~bitMaskRefOffset) | v << shiftRefOffset;
 //  }
 
-  public TypeImpl _getTypeImpl() {
+  public final TypeImpl _getTypeImpl() {
     return _typeImpl;
   }
   
-  protected void _setTypeImpl(TypeImpl ti) {
+  protected final void _setTypeImpl(TypeImpl ti) {
     _typeImpl = ti;
   }
   
   public static int compare(FeatureStructureImplC a, FeatureStructureImplC b) {
     return Integer.compare(a._id, b._id);
   }
+  
+  protected final static int wrapGetIntCatchException(MethodHandle mh) {
+    try {
+      return (int) mh.invokeExact();
+    } catch(Throwable t) {
+      throw new UIMA_IllegalStateException(UIMA_IllegalStateException.JCAS_NO_TYPE, null, t);
+    }
+  }
+
 
 }
\ No newline at end of file