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