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 2016/05/06 20:43:54 UTC
svn commit: r1742622 -
/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java
Author: schor
Date: Fri May 6 20:43:54 2016
New Revision: 1742622
URL: http://svn.apache.org/viewvc?rev=1742622&view=rev
Log:
[UIMA-4674] add some @Override annotations, tweak generic types, add moveToPreviousNvc method
Modified:
uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java
Modified: uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java
URL: http://svn.apache.org/viewvc/uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java?rev=1742622&r1=1742621&r2=1742622&view=diff
==============================================================================
--- uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java (original)
+++ uima/uimaj/branches/experiment-v3-jcas/uimaj-core/src/main/java/org/apache/uima/cas/impl/Subiterator.java Fri May 6 20:43:54 2016
@@ -76,7 +76,7 @@ public class Subiterator<T extends Annot
private int pos = 0; // used for form 2
- private final FSIterator<T> it;
+ private final FSIterator<Annotation> it;
private final FSIndexRepositoryImpl fsIndexRepo;
@@ -128,7 +128,7 @@ public class Subiterator<T extends Annot
// non bounded iterators don't use any begin/end compares
// begin end compares not yet implemented. This next should be set to false. 10/2015
this.isBeginEndCompare = this.isBounded ? (boundingAnnotation == null) : false;
- this.it = it;
+ this.it = (FSIterator<Annotation>) it;
this.boundingAnnotation = this.isBounded ? (Annotation) boundingAnnotation : null;
this.boundingBegin = (boundingAnnotation == null) ? boundingBegin : boundingAnnotation.getBegin();
this.boundingEnd = (boundingAnnotation == null) ? boundingEnd : boundingAnnotation.getEnd();
@@ -161,7 +161,7 @@ public class Subiterator<T extends Annot
isListForm = true; // do at end, so up to this point, iterator is not the list form style
}
- private void moveToExact(T targetAnnotation) {
+ private void moveToExact(Annotation targetAnnotation) {
it.moveTo(targetAnnotation); // move to left-most equal one
while (it.isValid()) { // advance to the exact equal one
if (targetAnnotation.id() == it.getNvc().id()) {
@@ -202,13 +202,13 @@ public class Subiterator<T extends Annot
* adjusted for strict exclusions
*/
private void movePastAnnot() {
- Comparator<FeatureStructure> annotationComparator = getAnnotationComparator();
+ Comparator<TOP> annotationComparator = getAnnotationComparator();
while (isValid() && (0 == annotationComparator.compare(boundingAnnotation, it.get()))) {
it.moveToNext();
}
}
- private Comparator<FeatureStructure> getAnnotationComparator() {
+ private Comparator<TOP> getAnnotationComparator() {
return fsIndexRepo.getAnnotationFsComparator();
}
@@ -223,7 +223,7 @@ public class Subiterator<T extends Annot
final int end = fs.getEnd();
while (it.isValid()) {
- T item = it.getNvc();
+ Annotation item = it.getNvc();
if (item.getBegin() != begin || item.getEnd() != end) {
break;
}
@@ -294,7 +294,7 @@ public class Subiterator<T extends Annot
}
} else {
if (isValid()) {
- return it.get();
+ return (T)it.get();
}
}
throw new NoSuchElementException();
@@ -309,7 +309,7 @@ public class Subiterator<T extends Annot
if (isListForm) {
return (T) this.list.get(this.pos);
} else {
- return it.get();
+ return (T)it.get();
}
}
@@ -368,6 +368,7 @@ public class Subiterator<T extends Annot
*
* @see org.apache.uima.cas.FSIterator#moveToPrevious()
*/
+ @Override
public void moveToPrevious() {
if (isListForm) {
--this.pos;
@@ -376,7 +377,7 @@ public class Subiterator<T extends Annot
if (!ambiguous) {
// Convert to list form
- T currentAnnotation = it.get(); // save to restore position
+ Annotation currentAnnotation = it.get(); // save to restore position
convertToListForm();
moveToExact(currentAnnotation);
--this.pos;
@@ -391,6 +392,11 @@ public class Subiterator<T extends Annot
adjustForStrictBackward();
}
}
+
+ @Override
+ public void moveToPreviousNvc() {
+ moveToPrevious();
+ }
/*
* (non-Javadoc)
@@ -458,7 +464,7 @@ public class Subiterator<T extends Annot
convertToListForm();
}
if (isListForm) {
- Comparator<FeatureStructure> annotationComparator = getAnnotationComparator();
+ Comparator<TOP> annotationComparator = getAnnotationComparator();
pos = Collections.binarySearch(this.list, (Annotation) fs, annotationComparator);
if (pos >= 0) {
if (!isValid()) {
@@ -558,7 +564,7 @@ public class Subiterator<T extends Annot
*/
public FSIterator<T> copy() {
Subiterator<T> copy = new Subiterator<T>(
- this.it.copy(), this.boundingAnnotation, this.boundingBegin, this.boundingEnd, this.ambiguous, this.strict, this.isBounded, this.fsIndexRepo);
+ (FSIterator<T>) this.it.copy(), this.boundingAnnotation, this.boundingBegin, this.boundingEnd, this.ambiguous, this.strict, this.isBounded, this.fsIndexRepo);
copy.list = this.list; // non-final things
copy.pos = this.pos;
return copy;