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/14 17:05:22 UTC
svn commit: r1808369 -
/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
Author: schor
Date: Thu Sep 14 17:05:22 2017
New Revision: 1808369
URL: http://svn.apache.org/viewvc?rev=1808369&view=rev
Log:
no Jira, slight refactor, add methods for getting empty / 0-length arrays list
Modified:
uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
Modified: uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
URL: http://svn.apache.org/viewvc/uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java?rev=1808369&r1=1808368&r2=1808369&view=diff
==============================================================================
--- uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java (original)
+++ uima/uv3/uimaj-v3/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java Thu Sep 14 17:05:22 2017
@@ -27,6 +27,7 @@ import org.apache.uima.cas.admin.CASAdmi
import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.LowLevelCAS;
import org.apache.uima.cas.impl.SelectFSs_impl;
+import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.cas.text.AnnotationIndex;
import org.apache.uima.jcas.JCas;
@@ -36,6 +37,7 @@ import org.apache.uima.jcas.cas.DoubleAr
import org.apache.uima.jcas.cas.EmptyFSList;
import org.apache.uima.jcas.cas.EmptyFloatList;
import org.apache.uima.jcas.cas.EmptyIntegerList;
+import org.apache.uima.jcas.cas.EmptyList;
import org.apache.uima.jcas.cas.EmptyStringList;
import org.apache.uima.jcas.cas.FSArray;
import org.apache.uima.jcas.cas.FloatArray;
@@ -43,6 +45,7 @@ import org.apache.uima.jcas.cas.IntegerA
import org.apache.uima.jcas.cas.LongArray;
import org.apache.uima.jcas.cas.ShortArray;
import org.apache.uima.jcas.cas.StringArray;
+import org.apache.uima.jcas.cas.TOP;
import org.apache.uima.jcas.impl.JCasImpl;
/**
@@ -628,7 +631,7 @@ public interface CAS extends AbstractCas
* @return the JCasImpl view for this CAS view
*/
default JCasImpl getJCasImpl() {
- return ((CASImpl) this).getJCasImpl();
+ return ((CASImpl)this.getLowLevelCAS()).getJCasImpl();
}
/**
@@ -798,7 +801,7 @@ public interface CAS extends AbstractCas
*/
default <T extends AnnotationFS> AnnotationIndex<T> getAnnotationIndex(Class<T> clazz)
throws CASRuntimeException {
- return getAnnotationIndex(this.getJCasImpl().getCasType(clazz));
+ return getAnnotationIndex(getCasType((Class) clazz));
}
/**
@@ -1185,6 +1188,11 @@ public interface CAS extends AbstractCas
return new SelectFSs_impl<>(this).type(fullyQualifiedTypeName);
}
+ default <T extends TOP> EmptyList getEmptyList(Class<T> clazz) {
+ return ((CASImpl)this.getLowLevelCAS()).getEmptyListFromTypeCode(((TypeImpl)getCasType(clazz)).getCode());
+ }
+
+
/**
* @return a lazily created shared (for this CAS) empty list
*/
@@ -1213,6 +1221,10 @@ public interface CAS extends AbstractCas
return ((CASImpl)getLowLevelCAS()).getEmptyStringList();
};
+ default <T extends TOP> CommonArrayFS getEmptyArray(Class<T> clazz) {
+ return ((CASImpl)getLowLevelCAS()).getEmptyArray(getCasType(clazz));
+ }
+
/**
* @return a lazily created shared (for this CAS) 0-length array
*/
@@ -1276,4 +1288,13 @@ public interface CAS extends AbstractCas
return ((CASImpl)getLowLevelCAS()).getEmptyBooleanArray();
};
+ /**
+ * @param clazz - a JCas class
+ * @param <T> the type of the JCas class
+ * @return the corresponding Type, for this CAS
+ */
+ default <T extends TOP> Type getCasType(Class<T> clazz) {
+ return this.getJCasImpl().getCasType(clazz);
+ }
+
}