You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by re...@apache.org on 2023/01/26 10:58:13 UTC
[uima-uimafit] 01/01: Issue #220: Add getType signature accepting a type system
This is an automated email from the ASF dual-hosted git repository.
rec pushed a commit to branch feature/220-Add-getType-signature-accepting-a-type-system
in repository https://gitbox.apache.org/repos/asf/uima-uimafit.git
commit 2d06ab31aaae4361044188bf50bcc921354d2e74
Author: Richard Eckart de Castilho <re...@apache.org>
AuthorDate: Thu Jan 26 11:58:07 2023 +0100
Issue #220: Add getType signature accepting a type system
- Added getType signature that accepts a type system
---
.../java/org/apache/uima/fit/util/CasUtil.java | 31 ++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java b/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
index 696636b..54b21cb 100644
--- a/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
+++ b/uimafit-core/src/main/java/org/apache/uima/fit/util/CasUtil.java
@@ -42,6 +42,7 @@ import org.apache.uima.cas.CASRuntimeException;
import org.apache.uima.cas.FSIterator;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
+import org.apache.uima.cas.TypeSystem;
import org.apache.uima.cas.impl.Subiterator;
import org.apache.uima.cas.text.AnnotationFS;
import org.apache.uima.cas.text.AnnotationIndex;
@@ -111,6 +112,19 @@ public final class CasUtil {
return getType(cas, type.getName());
}
+ /**
+ * Get the CAS type for the given JCas wrapper class.
+ *
+ * @param aTypeSystem
+ * the CAS hosting the type system.
+ * @param type
+ * the JCas wrapper class.
+ * @return the CAS type.
+ */
+ public static Type getType(TypeSystem aTypeSystem, Class<?> type) {
+ return getType(aTypeSystem, type.getName());
+ }
+
/**
* Get the CAS type for the given name.
*
@@ -121,6 +135,19 @@ public final class CasUtil {
* @return the CAS type.
*/
public static Type getType(CAS aCas, String aTypename) {
+ return getType(aCas.getTypeSystem(), aTypename);
+ }
+
+ /**
+ * Get the CAS type for the given name.
+ *
+ * @param aTypeSystem
+ * the type system
+ * @param aTypename
+ * the fully qualified type name.
+ * @return the CAS type.
+ */
+ public static Type getType(TypeSystem aTypeSystem, String aTypename) {
String typeName = aTypename;
if (typeName.startsWith(UIMA_BUILTIN_JCAS_PREFIX)) {
typeName = "uima." + typeName.substring(UIMA_BUILTIN_JCAS_PREFIX.length());
@@ -129,10 +156,10 @@ public final class CasUtil {
} else if (AnnotationFS.class.getName().equals(aTypename)) {
typeName = CAS.TYPE_NAME_ANNOTATION;
}
- final Type type = aCas.getTypeSystem().getType(typeName);
+ final Type type = aTypeSystem.getType(typeName);
if (type == null) {
StringBuilder sb = new StringBuilder();
- Iterator<Type> i = aCas.getTypeSystem().getTypeIterator();
+ Iterator<Type> i = aTypeSystem.getTypeIterator();
while (i.hasNext()) {
sb.append(i.next().getName()).append('\n');
}