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 2015/03/23 23:17:49 UTC
svn commit: r1668751 [1/2] - in /uima/uimaj/trunk/uimaj-core: ./
src/main/java/org/apache/uima/cas/ src/main/java/org/apache/uima/cas/impl/
src/main/java/org/apache/uima/impl/ src/main/java/org/apache/uima/jcas/
src/main/java/org/apache/uima/jcas/cas/ ...
Author: schor
Date: Mon Mar 23 22:17:47 2015
New Revision: 1668751
URL: http://svn.apache.org/r1668751
Log:
[UIMA-4299] More fixes to generics for UIMA Indexes and Iterators and JCas cover classes, mostly found by running mvn compile, and turning on -Xlint:unchecked.
Modified:
uima/uimaj/trunk/uimaj-core/pom.xml
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIndexRepository.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationBaseImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSGenerator.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BooleanArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ByteArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/DoubleArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSClassRegistry.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSGenerator.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIntArrayIndex.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIteratorWrapper.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/IntArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LongArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LowLevelCAS.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SofaFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/StringArrayFSImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/Util.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JFSIndexRepository.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/BooleanArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ByteArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/DoubleArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFSList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFloatList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyIntegerList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyStringList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/IntegerArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/IntegerList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/LongArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyFSList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyFloatList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyIntegerList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/NonEmptyStringList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ShortArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/Sofa_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/StringArray_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/StringList_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/TOP_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JFSIndexRepositoryImpl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/tcas/Annotation_Type.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/impl/CasManager_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/MetaDataObject_impl.java
uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/resource/metadata/impl/TypePriorityList_impl.java
uima/uimaj/trunk/uimaj-core/src/test/java/org/apache/uima/cas/test/IteratorTest.java
Modified: uima/uimaj/trunk/uimaj-core/pom.xml
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/pom.xml?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/pom.xml (original)
+++ uima/uimaj/trunk/uimaj-core/pom.xml Mon Mar 23 22:17:47 2015
@@ -94,6 +94,14 @@
<finalName>uima-core</finalName>
<pluginManagement>
<plugins>
+ <!-- Uncomment the next to run with -Xlint:unchecked -->
+ <!--plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <compilerArgument>-Xlint:unchecked</compilerArgument>
+ </configuration>
+ </plugin-->
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/CAS.java Mon Mar 23 22:17:47 2015
@@ -474,7 +474,7 @@ public interface CAS extends AbstractCas
* The type of the FS.
* @return The new FS.
*/
- FeatureStructure createFS(Type type) throws CASRuntimeException;
+ <T extends FeatureStructure> T createFS(Type type) throws CASRuntimeException;
/**
* Create a new feature structure array.
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIndexRepository.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIndexRepository.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIndexRepository.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/FSIndexRepository.java Mon Mar 23 22:17:47 2015
@@ -72,7 +72,7 @@ public interface FSIndexRepository {
*
* @return All indexes.
*/
- Iterator<FSIndex<FeatureStructure>> getIndexes();
+ Iterator<FSIndex<? extends FeatureStructure>> getIndexes();
/**
* Get all indexes in this repository as low level indexes
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationBaseImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationBaseImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationBaseImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationBaseImpl.java Mon Mar 23 22:17:47 2015
@@ -21,7 +21,6 @@ package org.apache.uima.cas.impl;
import org.apache.uima.cas.AnnotationBaseFS;
import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.FeatureStructure;
/**
* Class comment for AnnotationImpl.java goes here.
@@ -30,19 +29,19 @@ import org.apache.uima.cas.FeatureStruct
*/
public class AnnotationBaseImpl extends FeatureStructureImplC implements AnnotationBaseFS {
- private static class AnnotationBaseFSGenerator implements FSGenerator {
+ private static class AnnotationBaseFSGenerator implements FSGenerator<AnnotationBaseImpl> {
private AnnotationBaseFSGenerator() {
super();
}
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public AnnotationBaseImpl createFS(int addr, CASImpl cas) {
return new AnnotationBaseImpl(addr, cas);
}
}
- static FSGenerator getAnnotationGenerator() {
+ static FSGenerator<? extends AnnotationBaseFS> getAnnotationGenerator() {
return new AnnotationBaseFSGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/AnnotationImpl.java Mon Mar 23 22:17:47 2015
@@ -20,7 +20,6 @@
package org.apache.uima.cas.impl;
import org.apache.uima.cas.CAS;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.text.AnnotationFS;
/**
@@ -30,7 +29,7 @@ import org.apache.uima.cas.text.Annotati
*/
public class AnnotationImpl extends AnnotationBaseImpl implements AnnotationFS {
- private static class AnnotationFSGenerator implements FSGenerator {
+ private static class AnnotationFSGenerator implements FSGenerator<AnnotationImpl> {
private AnnotationFSGenerator() {
super();
@@ -39,13 +38,13 @@ public class AnnotationImpl extends Anno
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public AnnotationImpl createFS(int addr, CASImpl cas) {
return new AnnotationImpl(addr, cas);
}
}
- static FSGenerator getAnnotationGenerator() {
+ static FSGenerator<AnnotationImpl> getAnnotationGenerator() {
return new AnnotationFSGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSGenerator.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSGenerator.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSGenerator.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ArrayFSGenerator.java Mon Mar 23 22:17:47 2015
@@ -19,9 +19,8 @@
package org.apache.uima.cas.impl;
-import org.apache.uima.cas.FeatureStructure;
-public class ArrayFSGenerator implements FSGenerator {
+public class ArrayFSGenerator implements FSGenerator<ArrayFSImpl> {
public ArrayFSGenerator() {
super();
@@ -30,7 +29,7 @@ public class ArrayFSGenerator implements
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, CASImpl)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public ArrayFSImpl createFS(int addr, CASImpl cas) {
return new ArrayFSImpl(addr, cas);
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BooleanArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BooleanArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BooleanArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/BooleanArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -20,7 +20,6 @@
package org.apache.uima.cas.impl;
import org.apache.uima.cas.BooleanArrayFS;
-import org.apache.uima.cas.FeatureStructure;
/**
* Implementation of the {@link org.apache.uima.cas.BooleanArrayFS BooleanArrayFS} interface.
@@ -29,11 +28,11 @@ import org.apache.uima.cas.FeatureStruct
*/
public class BooleanArrayFSImpl extends CommonAuxArrayFSImpl implements BooleanArrayFS {
- private static class BooleanArrayGenerator implements FSGenerator {
+ private static class BooleanArrayGenerator implements FSGenerator<BooleanArrayFSImpl> {
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public BooleanArrayFSImpl createFS(int addr, CASImpl cas) {
return new BooleanArrayFSImpl(addr, cas);
}
}
@@ -42,7 +41,7 @@ public class BooleanArrayFSImpl extends
super(cas, addr); // note arg reversal
}
- static FSGenerator generator() {
+ static FSGenerator<BooleanArrayFSImpl> generator() {
return new BooleanArrayGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ByteArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ByteArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ByteArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/ByteArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -29,12 +29,12 @@ import org.apache.uima.cas.FeatureStruct
*/
public class ByteArrayFSImpl extends CommonAuxArrayFSImpl implements ByteArrayFS {
- private static class ByteArrayGenerator implements FSGenerator {
+ private static class ByteArrayGenerator implements FSGenerator<ByteArrayFSImpl> {
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public ByteArrayFSImpl createFS(int addr, CASImpl cas) {
return new ByteArrayFSImpl(addr, cas);
}
}
@@ -43,7 +43,7 @@ public class ByteArrayFSImpl extends Com
super(cas, addr); // note arg reversal
}
- static FSGenerator generator() {
+ static FSGenerator<ByteArrayFSImpl> generator() {
return new ByteArrayGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/CASImpl.java Mon Mar 23 22:17:47 2015
@@ -121,8 +121,8 @@ public class CASImpl extends AbstractCas
public static final int DEFAULT_INITIAL_HEAP_SIZE = 500000;
public static final int DEFAULT_RESET_HEAP_SIZE = 5000000;
-
- private static final int resetHeapSize = DEFAULT_RESET_HEAP_SIZE;
+// no longer used 3/2015
+// private static final int resetHeapSize = DEFAULT_RESET_HEAP_SIZE;
/**
@@ -275,7 +275,7 @@ public class CASImpl extends AbstractCas
private ComponentInfo componentInfo;
- private FSGenerator[] localFsGenerators;
+ private FSGenerator<? extends FeatureStructure>[] localFsGenerators;
/**
* This tracks the changes for delta cas
@@ -592,7 +592,7 @@ public class CASImpl extends AbstractCas
return ConstraintFactory.instance();
}
- public FeatureStructure createFS(Type type) {
+ public <T extends FeatureStructure> T createFS(Type type) {
final int typeCode = ((TypeImpl) type).getCode();
if (!isCreatableType(typeCode)) {
CASRuntimeException e = new CASRuntimeException(CASRuntimeException.NON_CREATABLE_TYPE,
@@ -975,7 +975,7 @@ public class CASImpl extends AbstractCas
}
// internal use, public for cross class ref
- public void setLocalFsGenerators(FSGenerator[] fsGenerators) {
+ public void setLocalFsGenerators(FSGenerator<? extends FeatureStructure>[] fsGenerators) {
this.svd.localFsGenerators = fsGenerators;
}
@@ -1968,7 +1968,7 @@ public class CASImpl extends AbstractCas
* addresses in the valid address space actually represent feature
* structures, and which don't.
*/
- public FeatureStructure createFS(int addr) {
+ public <T extends FeatureStructure> T createFS(int addr) {
return ll_getFSForRef(addr);
}
@@ -3419,7 +3419,8 @@ public class CASImpl extends AbstractCas
return fsi.getAddress();
}
- public FeatureStructure ll_getFSForRef(int fsRef) {
+ @SuppressWarnings("unchecked")
+ public <T extends FeatureStructure> T ll_getFSForRef(int fsRef) {
// return this.svd.casMetadata.fsClassRegistry.createFS(fsRef, this);
if (fsRef == 0) {
return null;
@@ -3427,14 +3428,14 @@ public class CASImpl extends AbstractCas
if (this.svd.useFSCache) {
// FS object cache code.
// ***** NOTE: This code has not been maintained and may not work ******
- FeatureStructure fs = null;
+ T fs = null;
try {
- fs = this.svd.fsArray[fsRef];
+ fs = (T) this.svd.fsArray[fsRef];
} catch (ArrayIndexOutOfBoundsException e) {
// Do nothing. Code below will expand array as needed.
}
if (fs == null) {
- fs = this.svd.localFsGenerators[getHeap().heap[fsRef]].createFS(fsRef, this);
+ fs = (T) this.svd.localFsGenerators[getHeap().heap[fsRef]].createFS(fsRef, this);
// fs =
// this.svd.casMetadata.fsClassRegistry.createFSusingGenerator(fsRef,
// this);
@@ -3452,7 +3453,7 @@ public class CASImpl extends AbstractCas
return fs;
}
- return this.svd.localFsGenerators[getHeap().heap[fsRef]].createFS(fsRef, this);
+ return (T) this.svd.localFsGenerators[getHeap().heap[fsRef]].createFS(fsRef, this);
// return this.svd.casMetadata.fsClassRegistry.createFSusingGenerator(fsRef,
// this);
}
@@ -4529,11 +4530,11 @@ public class CASImpl extends AbstractCas
return this.svd.casMetadata.ts.startFeat;
}
- private AnnotationFS createDocumentAnnotation(int length) {
+ private <T extends AnnotationFS> T createDocumentAnnotation(int length) {
final TypeSystemImpl ts = this.svd.casMetadata.ts;
// Remove any existing document annotations.
- FSIterator<AnnotationFS> it = getAnnotationIndex(ts.docType).iterator();
- List<AnnotationFS> list = new ArrayList<AnnotationFS>();
+ FSIterator<T> it = this.<T>getAnnotationIndex(ts.docType).iterator();
+ List<T> list = new ArrayList<T>();
while (it.isValid()) {
list.add(it.get());
it.moveToNext();
@@ -4541,7 +4542,7 @@ public class CASImpl extends AbstractCas
for (int i = 0; i < list.size(); i++) {
getIndexRepository().removeFS(list.get(i));
}
- return (AnnotationFS) ll_getFSForRef(ll_createDocumentAnnotation(length));
+ return this.<T>ll_getFSForRef(ll_createDocumentAnnotation(length));
}
public int ll_createDocumentAnnotation(int length) {
@@ -4580,12 +4581,17 @@ public class CASImpl extends AbstractCas
}
}
- public AnnotationFS getDocumentAnnotation() {
+ /**
+ * Generic issue: The returned document annotation could be either an instance of
+ * DocumentAnnotation or an instance of AnnotationImpl - the Java cover class used for
+ * annotations when JCas is not being used.
+ */
+ public <T extends AnnotationFS> T getDocumentAnnotation() {
if (this == this.svd.baseCAS) {
// base CAS has no document
return null;
}
- FSIterator<AnnotationFS> it = getAnnotationIndex(this.svd.casMetadata.ts.docType).iterator();
+ FSIterator<T> it = this.<T>getAnnotationIndex(this.svd.casMetadata.ts.docType).iterator();
if (it.isValid()) {
return it.get();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/DoubleArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/DoubleArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/DoubleArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/DoubleArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -20,7 +20,6 @@
package org.apache.uima.cas.impl;
import org.apache.uima.cas.DoubleArrayFS;
-import org.apache.uima.cas.FeatureStructure;
/**
* Implementation of the {@link org.apache.uima.cas.DoubleArrayFS DoubleArrayFS} interface.
@@ -29,11 +28,11 @@ import org.apache.uima.cas.FeatureStruct
*/
public class DoubleArrayFSImpl extends CommonAuxArrayFSImpl implements DoubleArrayFS {
- private static class DoubleArrayGenerator implements FSGenerator {
+ private static class DoubleArrayGenerator implements FSGenerator<DoubleArrayFSImpl> {
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public DoubleArrayFSImpl createFS(int addr, CASImpl cas) {
return new DoubleArrayFSImpl(addr, cas);
}
}
@@ -42,7 +41,7 @@ public class DoubleArrayFSImpl extends C
super(cas, addr); // note arg reversal
}
- static FSGenerator generator() {
+ static FSGenerator<DoubleArrayFSImpl> generator() {
return new DoubleArrayGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSClassRegistry.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSClassRegistry.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSClassRegistry.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSClassRegistry.java Mon Mar 23 22:17:47 2015
@@ -24,7 +24,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
/*
@@ -110,21 +109,21 @@ import org.apache.uima.cas.Type;
public class FSClassRegistry {
- private static class DefaultFSGenerator implements FSGenerator {
+ private static class DefaultFSGenerator implements FSGenerator<FeatureStructureImplC> {
private DefaultFSGenerator() {
super();
}
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public FeatureStructureImplC createFS(int addr, CASImpl cas) {
return new FeatureStructureImplC(cas, addr);
}
}
private TypeSystemImpl ts;
- private FSGenerator[] generators;
+ private FSGenerator<?>[] generators;
- private static final FSGenerator defaultGenerator = new DefaultFSGenerator();
+ private static final FSGenerator<FeatureStructureImplC> defaultGenerator = new DefaultFSGenerator();
/*
* Generators sometimes need to be changed while running
@@ -144,8 +143,8 @@ public class FSClassRegistry {
*
*/
// This map can be accessed on different threads at the same time
- private final Map<ClassLoader, FSGenerator[]> generatorsByClassLoader =
- Collections.synchronizedMap(new HashMap<ClassLoader, FSGenerator[]>(4));
+ private final Map<ClassLoader, FSGenerator<?>[]> generatorsByClassLoader =
+ Collections.synchronizedMap(new HashMap<ClassLoader, FSGenerator<?>[]>(4));
// private final RedBlackTree rbt;
// private final TreeMap map;
@@ -171,7 +170,7 @@ public class FSClassRegistry {
* @param fsFactory
* the object having a createFS method in it for this type
*/
- synchronized void addClassForType(Type type, FSGenerator fsFactory) {
+ synchronized void addClassForType(Type type, FSGenerator<?> fsFactory) {
Iterator<Type> it = this.ts.getTypeIterator();
TypeImpl sub;
while (it.hasNext()) {
@@ -188,7 +187,7 @@ public class FSClassRegistry {
* @param type -
* @param fsFactory -
*/
- public void addGeneratorForType(TypeImpl type, FSGenerator fsFactory) {
+ public void addGeneratorForType(TypeImpl type, FSGenerator<?> fsFactory) {
//this.generators[type.getCode()] = fsFactory;
}
@@ -216,12 +215,12 @@ public class FSClassRegistry {
// }
}
- public void saveGeneratorsForClassLoader(ClassLoader cl, FSGenerator[] newGenerators) {
+ public void saveGeneratorsForClassLoader(ClassLoader cl, FSGenerator<?>[] newGenerators) {
generatorsByClassLoader.put(cl, newGenerators);
}
public boolean swapInGeneratorsForClassLoader(ClassLoader cl, CASImpl casImpl) {
- FSGenerator[] cachedGenerators = generatorsByClassLoader.get(cl);
+ FSGenerator<?>[] cachedGenerators = generatorsByClassLoader.get(cl);
if (cachedGenerators != null) {
casImpl.setLocalFsGenerators(cachedGenerators);
return true;
@@ -257,12 +256,12 @@ public class FSClassRegistry {
* another thread
*/
- public synchronized FSGenerator [] getBaseGenerators() {
+ public synchronized FSGenerator<?> [] getBaseGenerators() {
return this.generators;
}
// internal use, public only for cross package ref
- public synchronized void setBaseGenerators(FSGenerator [] generators) {
+ public synchronized void setBaseGenerators(FSGenerator<?>[] generators) {
this.generators = generators;
}
@@ -270,7 +269,7 @@ public class FSClassRegistry {
* Internal Use Only
*/
- public synchronized FSGenerator [] getNewFSGeneratorSet() {
+ public synchronized FSGenerator<?>[] getNewFSGeneratorSet() {
return this.generators.clone();
}
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSGenerator.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSGenerator.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSGenerator.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSGenerator.java Mon Mar 23 22:17:47 2015
@@ -22,8 +22,8 @@ package org.apache.uima.cas.impl;
import org.apache.uima.cas.FeatureStructure;
-public interface FSGenerator {
+public interface FSGenerator<T extends FeatureStructure> {
- FeatureStructure createFS(int addr, CASImpl cas);
+ T createFS(int addr, CASImpl cas);
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIndexRepositoryImpl.java Mon Mar 23 22:17:47 2015
@@ -187,6 +187,7 @@ public class FSIndexRepositoryImpl imple
// Populate the cache.
// For read-only CASes, this may be called on multiple threads, so do some synchronization
+ @SuppressWarnings("unchecked")
private void createIndexIteratorCache() {
// using double-checked sync - see http://en.wikipedia.org/wiki/Double-checked_locking#Usage_in_Java
if (isIteratorCacheSetup) {
@@ -211,7 +212,7 @@ public class FSIndexRepositoryImpl imple
for (int i = 0; i < len; i++) {
final int typeCode = ((TypeImpl) allTypes.get(i)).getCode();
- final ArrayList<IndexIteratorCachePair<? extends FeatureStructure>> indexList = FSIndexRepositoryImpl.this.indexArray[typeCode];
+ final ArrayList<IndexIteratorCachePair<?>> indexList = FSIndexRepositoryImpl.this.indexArray[typeCode];
final int indexPos = indexList.indexOf(this);
if (indexPos >= 0) {
// unchecked: the fsLeafIndex is for some subtype of FeatureStructure, but needs to be restricted to
@@ -954,7 +955,7 @@ public class FSIndexRepositoryImpl imple
int kind = iicp.fsLeafIndex.getIndexingStrategy();
for (int i = 0; i < iterators.length; i++) {
if (kind == FSIndex.SORTED_INDEX) {
- FSIntArrayIndex<? extends FeatureStructure> sortedIndex = getCachedSortedSubFsLeafIndexes(iicp, i);
+ FSIntArrayIndex<? extends FeatureStructure> sortedIndex = getCachedSortedSubFsLeafIndex(iicp, i);
if (sortedIndex.findEq(fs) < 0) {
continue; //
}
@@ -1131,7 +1132,7 @@ public class FSIndexRepositoryImpl imple
FSIndexComparator comp = leafIndex.getComparator();
final int size = iicp0.size(); // adds up all the sizes of the indexes
- sortedLeafIndex = (FSIntArrayIndex<T>) addNewIndexCore(comp, size, FSIndex.SORTED_INDEX);
+ sortedLeafIndex = (FSIntArrayIndex<T>) FSIndexRepositoryImpl.this.<T>addNewIndexCore(comp, size, FSIndex.SORTED_INDEX);
snapshot = sortedLeafIndex.getVector().getArray();
this.size = size;
flattenCopy(iicp0, isRootOnly);
@@ -1616,22 +1617,10 @@ public class FSIndexRepositoryImpl imple
* @param i which sub index to get
* @return the subindex, cast to FSIntArrayIndex<T>
*/
- private <T extends FeatureStructure> FSIntArrayIndex<T> getCachedSortedSubFsLeafIndexes(IndexIteratorCachePair<T>iicp, int i) {
- return (FSIntArrayIndex<T>) iicp.cachedSubFsLeafIndexes.get(i);
+ private FSIntArrayIndex<? extends FeatureStructure> getCachedSortedSubFsLeafIndex(
+ IndexIteratorCachePair<? extends FeatureStructure> iicp, int i) {
+ return (FSIntArrayIndex<? extends FeatureStructure>) iicp.cachedSubFsLeafIndexes.get(i);
}
-
- /**
- * Get a particular sorted subLeafIndex
- * Implemented as a subroutine to have the unchecked cast done in one place
- * @param iicp having the subLeafIndexes
- * @param i which sub index to get
- * @return the subindex, cast to FSIntArrayIndex<T>
- */
- private <T extends FeatureStructure> FSLeafIndexImpl<T> getCachedSubFsLeafIndexes(IndexIteratorCachePair<T>iicp, int i) {
- return (FSLeafIndexImpl<T>) iicp.cachedSubFsLeafIndexes.get(i);
- }
-
-
/**
* Reset all indexes.
@@ -1925,8 +1914,8 @@ public class FSIndexRepositoryImpl imple
/**
* @see org.apache.uima.cas.admin.FSIndexRepositoryMgr#getIndexes()
*/
- public Iterator<FSIndex<FeatureStructure>> getIndexes() {
- final ArrayList<FSIndex<FeatureStructure>> indexList = new ArrayList<FSIndex<FeatureStructure>>();
+ public Iterator<FSIndex<? extends FeatureStructure>> getIndexes() {
+ final ArrayList<FSIndex<? extends FeatureStructure>> indexList = new ArrayList<>();
final Iterator<String> it = this.getLabels();
String label;
while (it.hasNext()) {
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIntArrayIndex.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIntArrayIndex.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIntArrayIndex.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIntArrayIndex.java Mon Mar 23 22:17:47 2015
@@ -34,7 +34,7 @@ import org.apache.uima.internal.util.Int
* Uses IntVector (sorted) as the index (of FSs)
* @param <T> the Java cover class type for this index, passed along to (wrapped) iterators producing Java cover classes
*/
-public class FSIntArrayIndex<T extends FeatureStructure> extends FSLeafIndexImpl {
+public class FSIntArrayIndex<T extends FeatureStructure> extends FSLeafIndexImpl<T> {
private class IntVectorIterator implements ComparableIntPointerIterator, LowLevelIterator {
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIteratorWrapper.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIteratorWrapper.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIteratorWrapper.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/FSIteratorWrapper.java Mon Mar 23 22:17:47 2015
@@ -50,7 +50,7 @@ public class FSIteratorWrapper<T extends
* @see org.apache.uima.cas.FSIterator#get()
*/
public T get() {
- return (T) this.casImpl.createFS(this.it.get());
+ return this.casImpl.createFS(this.it.get());
}
/**
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/IntArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/IntArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/IntArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/IntArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -29,7 +29,7 @@ import org.apache.uima.cas.IntArrayFS;
*/
public class IntArrayFSImpl extends CommonArrayFSImpl implements IntArrayFS {
- private static class IntArrayFSGenerator implements FSGenerator {
+ private static class IntArrayFSGenerator implements FSGenerator<IntArrayFSImpl> {
private IntArrayFSGenerator() {
super(); // does nothing, super is Object, is implicit by Java Lang rules
@@ -38,7 +38,7 @@ public class IntArrayFSImpl extends Comm
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public IntArrayFSImpl createFS(int addr, CASImpl cas) {
return new IntArrayFSImpl(addr, cas);
}
@@ -48,7 +48,7 @@ public class IntArrayFSImpl extends Comm
super(cas, addr);
}
- static FSGenerator generator() {
+ static FSGenerator<IntArrayFSImpl> generator() {
return new IntArrayFSGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LongArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LongArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LongArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LongArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -29,7 +29,7 @@ import org.apache.uima.cas.LongArrayFS;
*/
public class LongArrayFSImpl extends CommonAuxArrayFSImpl implements LongArrayFS {
- private static class LongArrayGenerator implements FSGenerator {
+ private static class LongArrayGenerator implements FSGenerator<LongArrayFSImpl> {
private LongArrayGenerator() {
super();
@@ -38,7 +38,7 @@ public class LongArrayFSImpl extends Com
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public LongArrayFSImpl createFS(int addr, CASImpl cas) {
return new LongArrayFSImpl(addr, cas);
}
@@ -48,7 +48,7 @@ public class LongArrayFSImpl extends Com
super(cas, addr);
}
- static FSGenerator generator() {
+ static FSGenerator<LongArrayFSImpl> generator() {
return new LongArrayGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LowLevelCAS.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LowLevelCAS.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LowLevelCAS.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/LowLevelCAS.java Mon Mar 23 22:17:47 2015
@@ -250,7 +250,7 @@ public interface LowLevelCAS {
* The FS reference.
* @return A FS object corresponding to the input reference.
*/
- FeatureStructure ll_getFSForRef(int fsRef);
+ <T extends FeatureStructure> T ll_getFSForRef(int fsRef);
/**
* Get the value of an integer valued feature.
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SofaFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SofaFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SofaFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/SofaFSImpl.java Mon Mar 23 22:17:47 2015
@@ -35,7 +35,7 @@ import org.apache.uima.cas.Type;
*/
public class SofaFSImpl extends FeatureStructureImplC implements SofaFS {
- private static class SofaFSGenerator implements FSGenerator {
+ private static class SofaFSGenerator implements FSGenerator<SofaFSImpl> {
private SofaFSGenerator() {
super();
@@ -44,13 +44,13 @@ public class SofaFSImpl extends FeatureS
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public SofaFSImpl createFS(int addr, CASImpl cas) {
return new SofaFSImpl(addr, cas);
}
}
- static FSGenerator getSofaFSGenerator() {
+ static FSGenerator<SofaFSImpl> getSofaFSGenerator() {
return new SofaFSGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/StringArrayFSImpl.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/StringArrayFSImpl.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/StringArrayFSImpl.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/cas/impl/StringArrayFSImpl.java Mon Mar 23 22:17:47 2015
@@ -29,7 +29,7 @@ import org.apache.uima.cas.StringArrayFS
*/
public class StringArrayFSImpl extends CommonArrayFSImpl implements StringArrayFS {
- private static class StringArrayGenerator implements FSGenerator {
+ private static class StringArrayGenerator implements FSGenerator<StringArrayFSImpl> {
private StringArrayGenerator() {
super();
@@ -38,7 +38,7 @@ public class StringArrayFSImpl extends C
/**
* @see org.apache.uima.cas.impl.FSGenerator#createFS(int, LowLevelCAS)
*/
- public FeatureStructure createFS(int addr, CASImpl cas) {
+ public StringArrayFSImpl createFS(int addr, CASImpl cas) {
return new StringArrayFSImpl(addr, cas);
}
@@ -48,7 +48,7 @@ public class StringArrayFSImpl extends C
super(cas, addr);
}
- static FSGenerator generator() {
+ static FSGenerator<StringArrayFSImpl> generator() {
return new StringArrayGenerator();
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/UimaContext_ImplBase.java Mon Mar 23 22:17:47 2015
@@ -667,7 +667,8 @@ public abstract class UimaContext_ImplBa
* @see org.apache.uima.UimaContext#getEmptyCas(java.lang.Class)
* see http://en.wikipedia.org/wiki/Double-checked_locking#Usage_in_Java
*/
- public AbstractCas getEmptyCas(Class aCasInterface) {
+ @Override
+ public <T extends AbstractCas> T getEmptyCas(Class<T> aCasInterface) {
if (!mCasPoolCreated) {
synchronized (this) {
if (!mCasPoolCreated) {
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/Util.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/Util.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/Util.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/impl/Util.java Mon Mar 23 22:17:47 2015
@@ -71,17 +71,17 @@ public class Util {
return r;
}
- public static AbstractCas setupViewSwitchClassLoaders(
+ public static <T extends AbstractCas> T setupViewSwitchClassLoaders(
CAS cas,
boolean sofaAware,
ComponentInfo componentInfo,
ResourceManager resourceManager,
- Class<? extends AbstractCas> casInterface) {
+ Class<T> casInterface) {
CASImpl ci = getStartingView(cas, sofaAware, componentInfo);
// get requested interface to CAS (CAS or JCas)
// next will create JCas if needed, but not already created
// must precede the switchClassLoader call - that one needs the JCas link, if it is being used
- AbstractCas r = CasManager_impl.getCasInterfaceStatic(ci, casInterface);
+ T r = CasManager_impl.<T>getCasInterfaceStatic(ci, casInterface);
// This cas will be unlocked and its class loader restored when the
// next() method returns it
// Insure the same view is passed for switching/restoring https://issues.apache.org/jira/browse/UIMA-2211
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCas.java Mon Mar 23 22:17:47 2015
@@ -153,7 +153,7 @@ public interface JCas extends AbstractCa
/*
* Internal Use - sets the corresponding Java instance for a Cas instance
*/
- public abstract TOP getJfsFromCaddr(int casAddr);
+ public abstract <T extends TOP> T getJfsFromCaddr(int casAddr);
/*
* Internal Use.
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JCasRegistry.java Mon Mar 23 22:17:47 2015
@@ -20,13 +20,15 @@ package org.apache.uima.jcas;
import java.util.ArrayList;
+import org.apache.uima.jcas.cas.TOP;
+
/**
* Maintains a registry of JCas cover classes that have been loaded. Methods on this
* class are called from JCas cover classes (that is, classes generated by JCasGen).
* They are not intended to be called directly from user-written code.
*/
public class JCasRegistry {
- private static ArrayList loadedJCasClasses = new ArrayList();
+ private static ArrayList<Class<? extends TOP>> loadedJCasClasses = new ArrayList<>();
/**
* Registers a JCas cover class with this registry. The registry will assign
@@ -35,7 +37,7 @@ public class JCasRegistry {
* @param aJCasCoverClass the class to register
* @return the unique index value for this class.
*/
- public static synchronized int register(Class aJCasCoverClass) {
+ public static synchronized int register(Class<? extends TOP> aJCasCoverClass) {
loadedJCasClasses.add(aJCasCoverClass);
return loadedJCasClasses.size() - 1;
}
@@ -74,9 +76,9 @@ public class JCasRegistry {
* @return the JCas cover class that was assigned the value <code>aIndex</code> during its registration,
* <code>null</code> if none.
*/
- public static synchronized Class getClassForIndex(int aIndex) {
+ public static synchronized Class<? extends TOP> getClassForIndex(int aIndex) {
if (aIndex >= 0 && aIndex < loadedJCasClasses.size())
- return (Class)loadedJCasClasses.get(aIndex);
+ return loadedJCasClasses.get(aIndex);
else
return null;
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JFSIndexRepository.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JFSIndexRepository.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JFSIndexRepository.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/JFSIndexRepository.java Mon Mar 23 22:17:47 2015
@@ -24,6 +24,7 @@ import java.util.Iterator;
import org.apache.uima.cas.FSIndex;
import org.apache.uima.cas.FSIndexRepository;
import org.apache.uima.cas.FSIterator;
+import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
import org.apache.uima.cas.text.AnnotationIndex;
import org.apache.uima.jcas.cas.TOP;
@@ -49,7 +50,7 @@ public interface JFSIndexRepository {
* @return The index with the name <code>label</code>, or <code>null</code> if no such index
* is defined.
*/
- FSIndex<TOP> getIndex(String label);
+ <T extends TOP> FSIndex<T> getIndex(String label);
/**
* Retrieve an index according to a label and a type. The type is used to narrow down the index of
@@ -62,7 +63,7 @@ public interface JFSIndexRepository {
* @return The specified index, or <code>null</code> if an index with that name doesn't exist,
* or it exists but <code>type</code> is not a subtype of the index's type.
*/
- FSIndex<TOP> getIndex(String label, int type);
+ <T extends TOP> FSIndex<T> getIndex(String label, int type);
/**
* Get the standard annotation index.
@@ -78,7 +79,7 @@ public interface JFSIndexRepository {
* The annotation type the index is restricted to, written as Foo.type
* @return The standard annotation index, restricted to <code>type</code>.
*/
- AnnotationIndex<Annotation> getAnnotationIndex(int type);
+ <T extends Annotation> AnnotationIndex<T> getAnnotationIndex(int type);
/**
* Get all labels for all indexes.
@@ -89,10 +90,10 @@ public interface JFSIndexRepository {
/**
* Get all indexes in this repository.
- *
+ * Generics: Some may be for things not having JCas cover classes, so the type of FSIndex is ? extends FeatureStructure
* @return All indexes.
*/
- Iterator<FSIndex<TOP>> getIndexes();
+ Iterator<FSIndex<? extends FeatureStructure>> getIndexes();
/**
* Get the underlying FSIndexRepository associated with this JFSIndexRepository.
@@ -109,13 +110,15 @@ public interface JFSIndexRepository {
* one set index defined, then this method will only return the contents of one of these set
* indexes (chosen arbitrarily).
*
+ * Generics: The returned Java cover class may not be a JCas one.
+ *
* @param aType
* The type
*
* @return An iterator that returns all indexed FeatureStructures of type <code>aType</code>,
* in no particular order.
*/
- FSIterator<TOP> getAllIndexedFS(Type aType);
+ FSIterator<FeatureStructure> getAllIndexedFS(Type aType);
/**
* Gets an iterator over all indexed FeatureStructures of the specified Type (and any of its
@@ -125,12 +128,14 @@ public interface JFSIndexRepository {
* one set index defined, then this method will only return the contents of one of these set
* indexes (chosen arbitrarily).
*
+ * Generics: The returned Java cover class may not be a JCas one.
+ *
* @param aType
* The type obtained by doing MyJCasClass.type
*
* @return An iterator that returns all indexed FeatureStructures of type <code>aType</code>,
* in no particular order.
*/
- FSIterator<TOP> getAllIndexedFS(int aType);
+ FSIterator<FeatureStructure> getAllIndexedFS(int aType);
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/AnnotationBase_Type.java Mon Mar 23 22:17:47 2015
@@ -21,10 +21,8 @@ package org.apache.uima.jcas.cas;
import org.apache.uima.cas.CAS;
import org.apache.uima.cas.Feature;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.SofaFS;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
import org.apache.uima.cas.impl.FeatureImpl;
import org.apache.uima.cas.impl.TypeImpl;
@@ -32,25 +30,26 @@ import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class AnnotationBase_Type extends org.apache.uima.jcas.cas.TOP_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but needed for compatibility with existing JCasGen'd cover classes
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (AnnotationBase_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = AnnotationBase_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new AnnotationBase(addr, AnnotationBase_Type.this);
- AnnotationBase_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new AnnotationBase(addr, AnnotationBase_Type.this);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public AnnotationBase createFS(int addr, CASImpl cas) {
+// if (AnnotationBase_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// AnnotationBase fs = AnnotationBase_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new AnnotationBase(addr, AnnotationBase_Type.this);
+// AnnotationBase_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new AnnotationBase(addr, AnnotationBase_Type.this);
+// }
+// };
public final static int typeIndexID = AnnotationBase.typeIndexID;
@@ -73,7 +72,7 @@ public class AnnotationBase_Type extends
// * initialize variables to correspond with Cas Type and Features
public AnnotationBase_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
casFeat_sofa = jcas.getRequiredFeatureDE(casType, "sofa", "uima.cas.Sofa", featOkTst);
casFeatCode_sofa = (null == casFeat_sofa) ? JCas.INVALID_FEATURE_CODE
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/BooleanArray_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/BooleanArray_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/BooleanArray_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/BooleanArray_Type.java Mon Mar 23 22:17:47 2015
@@ -19,11 +19,8 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
// *********************************
@@ -41,34 +38,32 @@ public final class BooleanArray_Type ext
// generator used by the CAS system when it needs to make a new instance
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (BooleanArray_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = BooleanArray_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new BooleanArray(addr, BooleanArray_Type.this);
- BooleanArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new BooleanArray(addr, BooleanArray_Type.this);
- }
- };
-
- private BooleanArray_Type() {
- } // block default new operator
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public BooleanArray createFS(int addr, CASImpl cas) {
+// if (BooleanArray_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// BooleanArray fs = BooleanArray_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new BooleanArray(addr, BooleanArray_Type.this);
+// BooleanArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new BooleanArray(addr, BooleanArray_Type.this);
+// }
+// };
public BooleanArray_Type(JCas jcas, Type casType) {
super(jcas, casType);
// Do not factor to TOP_Type - requires access to instance values
// which are not set when super is called (per JVM spec)
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
// ******************************************************
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ByteArray_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ByteArray_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ByteArray_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/ByteArray_Type.java Mon Mar 23 22:17:47 2015
@@ -19,11 +19,8 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
// *********************************
@@ -39,36 +36,34 @@ public final class ByteArray_Type extend
*/
public final static int typeIndexID = ByteArray.typeIndexID;
- // generator used by the CAS system when it needs to make a new instance
-
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+// // generator used by the CAS system when it needs to make a new instance
+//
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (ByteArray_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = ByteArray_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new ByteArray(addr, ByteArray_Type.this);
- ByteArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new ByteArray(addr, ByteArray_Type.this);
- }
- };
-
- private ByteArray_Type() {
- } // block default new operator
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public ByteArray createFS(int addr, CASImpl cas) {
+// if (ByteArray_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// ByteArray fs = (ByteArray) ByteArray_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new ByteArray(addr, ByteArray_Type.this);
+// ByteArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new ByteArray(addr, ByteArray_Type.this);
+// }
+// };
public ByteArray_Type(JCas jcas, Type casType) {
super(jcas, casType);
// Do not factor to TOP_Type - requires access to instance values
// which are not set when super is called (per JVM spec)
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
// ******************************************************
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/DoubleArray_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/DoubleArray_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/DoubleArray_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/DoubleArray_Type.java Mon Mar 23 22:17:47 2015
@@ -19,11 +19,8 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
// *********************************
@@ -39,36 +36,34 @@ public final class DoubleArray_Type exte
*/
public final static int typeIndexID = DoubleArray.typeIndexID;
- // generator used by the CAS system when it needs to make a new instance
-
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+// // generator used by the CAS system when it needs to make a new instance
+//
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (DoubleArray_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = DoubleArray_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new DoubleArray(addr, DoubleArray_Type.this);
- DoubleArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new DoubleArray(addr, DoubleArray_Type.this);
- }
- };
-
- private DoubleArray_Type() {
- } // block default new operator
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public DoubleArray createFS(int addr, CASImpl cas) {
+// if (DoubleArray_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// DoubleArray fs = (DoubleArray) DoubleArray_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new DoubleArray(addr, DoubleArray_Type.this);
+// DoubleArray_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new DoubleArray(addr, DoubleArray_Type.this);
+// }
+// };
public DoubleArray_Type(JCas jcas, Type casType) {
super(jcas, casType);
// Do not factor to TOP_Type - requires access to instance values
// which are not set when super is called (per JVM spec)
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
// ******************************************************
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFSList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFSList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFSList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFSList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,31 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class EmptyFSList_Type extends FSList_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new EmptyFSList(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new EmptyFSList(addr, instanceOf_Type);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// public EmptyFSList createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// EmptyFSList fs = (EmptyFSList) instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new EmptyFSList(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new EmptyFSList(addr, instanceOf_Type);
+// }
+// };
public final static int typeIndexID = EmptyFSList.typeIndexID;
@@ -55,7 +52,7 @@ public class EmptyFSList_Type extends FS
// * initialize variables to correspond with Cas Type and Features
public EmptyFSList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFloatList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFloatList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFloatList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyFloatList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,33 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class EmptyFloatList_Type extends FloatList_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new EmptyFloatList(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new EmptyFloatList(addr, instanceOf_Type);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public EmptyFloatList createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// EmptyFloatList fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new EmptyFloatList(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new EmptyFloatList(addr, instanceOf_Type);
+// }
+// };
public final static int typeIndexID = EmptyFloatList.typeIndexID;
@@ -55,7 +54,7 @@ public class EmptyFloatList_Type extends
// * initialize variables to correspond with Cas Type and Features
public EmptyFloatList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyIntegerList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyIntegerList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyIntegerList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyIntegerList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,33 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class EmptyIntegerList_Type extends IntegerList_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new EmptyIntegerList(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new EmptyIntegerList(addr, instanceOf_Type);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public EmptyIntegerList createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// EmptyIntegerList fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new EmptyIntegerList(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new EmptyIntegerList(addr, instanceOf_Type);
+// }
+// };
public final static int typeIndexID = EmptyIntegerList.typeIndexID;
@@ -55,7 +54,7 @@ public class EmptyIntegerList_Type exten
// * initialize variables to correspond with Cas Type and Features
public EmptyIntegerList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyStringList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyStringList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyStringList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/EmptyStringList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,31 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class EmptyStringList_Type extends StringList_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new EmptyStringList(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new EmptyStringList(addr, instanceOf_Type);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// public FeatureStructure createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new EmptyStringList(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new EmptyStringList(addr, instanceOf_Type);
+// }
+// };
public final static int typeIndexID = EmptyStringList.typeIndexID;
@@ -55,7 +52,7 @@ public class EmptyStringList_Type extend
// * initialize variables to correspond with Cas Type and Features
public EmptyStringList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSArray_Type.java Mon Mar 23 22:17:47 2015
@@ -23,9 +23,7 @@ package org.apache.uima.jcas.cas;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
// *********************************
@@ -39,36 +37,34 @@ public class FSArray_Type extends Common
public final static int typeIndexID = FSArray.typeIndexID;
- // generator used by the CAS system when it needs to make a new instance
-
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+// // generator used by the CAS system when it needs to make a new instance
+//
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new FSArray(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new FSArray(addr, instanceOf_Type);
- }
- };
-
- private FSArray_Type() {
- } // block default new operator
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public FSArray createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// FSArray fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new FSArray(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new FSArray(addr, instanceOf_Type);
+// }
+// };
public FSArray_Type(JCas jcas, Type casType) {
super(jcas, casType);
// Do not factor to TOP_Type - requires access to instance values
// which are not set when super is called (per JVM spec)
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
// ******************************************************
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FSList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,32 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class FSList_Type extends org.apache.uima.jcas.cas.TOP_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (FSList_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = FSList_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new FSList(addr, FSList_Type.this);
- FSList_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new FSList(addr, FSList_Type.this);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public FSList createFS(int addr, CASImpl cas) {
+// if (FSList_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// FSList fs = FSList_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new FSList(addr, FSList_Type.this);
+// FSList_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new FSList(addr, FSList_Type.this);
+// }
+// };
public final static int typeIndexID = FSList.typeIndexID;
@@ -55,7 +53,7 @@ public class FSList_Type extends org.apa
// * initialize variables to correspond with Cas Type and Features
public FSList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatArray_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatArray_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatArray_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatArray_Type.java Mon Mar 23 22:17:47 2015
@@ -23,9 +23,7 @@ package org.apache.uima.jcas.cas;
import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
// *********************************
@@ -41,25 +39,25 @@ public class FloatArray_Type extends Com
// generator used by the CAS system when it needs to make a new instance
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (instanceOf_Type.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new FloatArray(addr, instanceOf_Type);
- instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new FloatArray(addr, instanceOf_Type);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// public FeatureStructure createFS(int addr, CASImpl cas) {
+// if (instanceOf_Type.useExistingInstance) {
+// // Return eq fs instance if already created
+// FeatureStructure fs = instanceOf_Type.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new FloatArray(addr, instanceOf_Type);
+// instanceOf_Type.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new FloatArray(addr, instanceOf_Type);
+// }
+// };
private FloatArray_Type() {
} // block default new operator
@@ -68,7 +66,7 @@ public class FloatArray_Type extends Com
super(jcas, casType);
// Do not factor to TOP_Type - requires access to instance values
// which are not set when super is called (per JVM spec)
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}
// ******************************************************
Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatList_Type.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatList_Type.java?rev=1668751&r1=1668750&r2=1668751&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatList_Type.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/cas/FloatList_Type.java Mon Mar 23 22:17:47 2015
@@ -19,34 +19,32 @@
package org.apache.uima.jcas.cas;
-import org.apache.uima.cas.FeatureStructure;
import org.apache.uima.cas.Type;
-import org.apache.uima.cas.impl.CASImpl;
import org.apache.uima.cas.impl.FSGenerator;
-import org.apache.uima.cas.impl.TypeImpl;
import org.apache.uima.jcas.JCas;
import org.apache.uima.jcas.JCasRegistry;
public class FloatList_Type extends org.apache.uima.jcas.cas.TOP_Type {
- protected FSGenerator getFSGenerator() {
- return fsGenerator;
+ protected FSGenerator<?> getFSGenerator() {
+ return null; // no longer used, but may be needed for compatibility with older existing JCasGen'd cover classes that might extend this class
}
-
- private final FSGenerator fsGenerator = new FSGenerator() {
- public FeatureStructure createFS(int addr, CASImpl cas) {
- if (FloatList_Type.this.useExistingInstance) {
- // Return eq fs instance if already created
- FeatureStructure fs = FloatList_Type.this.jcas.getJfsFromCaddr(addr);
- if (null == fs) {
- fs = new FloatList(addr, FloatList_Type.this);
- FloatList_Type.this.jcas.putJfsFromCaddr(addr, fs);
- return fs;
- }
- return fs;
- } else
- return new FloatList(addr, FloatList_Type.this);
- }
- };
+//
+// private final FSGenerator fsGenerator = new FSGenerator() {
+// @SuppressWarnings("unchecked")
+// public FloatList createFS(int addr, CASImpl cas) {
+// if (FloatList_Type.this.useExistingInstance) {
+// // Return eq fs instance if already created
+// FloatList fs = FloatList_Type.this.jcas.getJfsFromCaddr(addr);
+// if (null == fs) {
+// fs = new FloatList(addr, FloatList_Type.this);
+// FloatList_Type.this.jcas.putJfsFromCaddr(addr, fs);
+// return fs;
+// }
+// return fs;
+// } else
+// return new FloatList(addr, FloatList_Type.this);
+// }
+// };
public final static int typeIndexID = FloatList.typeIndexID;
@@ -55,7 +53,7 @@ public class FloatList_Type extends org.
// * initialize variables to correspond with Cas Type and Features
public FloatList_Type(JCas jcas, Type casType) {
super(jcas, casType);
- casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
+// casImpl.getFSClassRegistry().addGeneratorForType((TypeImpl) this.casType, getFSGenerator());
}