Package org.apache.uima.cas.impl
Class FilteredIterator<T extends FeatureStructure>
- java.lang.Object
-
- org.apache.uima.cas.impl.FilteredIterator<T>
-
- All Implemented Interfaces:
java.util.Iterator<T>
,java.util.ListIterator<T>
,FSIterator<T>
,LowLevelIterator<T>
class FilteredIterator<T extends FeatureStructure> extends java.lang.Object implements LowLevelIterator<T>
Implements a filtered iterator.
-
-
Field Summary
Fields Modifier and Type Field Description private FSMatchConstraint
cons
private LowLevelIterator<T>
it
-
Fields inherited from interface org.apache.uima.cas.impl.LowLevelIterator
FS_ITERATOR_LOW_LEVEL_EMPTY, IS_ORDERED
-
-
Constructor Summary
Constructors Modifier Constructor Description private
FilteredIterator()
(package private)
FilteredIterator(FSIterator<T> it, FSMatchConstraint cons)
Create a filtered iterator from a base iterator and a constraint.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
adjustForConstraintBackward()
private void
adjustForConstraintForward()
FilteredIterator<T>
copy()
Copy this iterator.java.util.Comparator<TOP>
getComparator()
T
getNvc()
Get the structure the iterator is pointing at.boolean
isIndexesHaveBeenUpdated()
boolean
isValid()
Check if this iterator is valid.LowLevelIndex<T>
ll_getIndex()
Get the index for just the top most type of this iterator (excludes subtypes).int
ll_indexSizeMaybeNotCurrent()
int
ll_maxAnnotSpan()
boolean
maybeReinitIterator()
Internal usevoid
moveToFirstNoReinit()
Internal use same as moveToFirst, but won't reset to use current contents of index if index has changedvoid
moveToLastNoReinit()
Internal use same as moveToLast, but won't reset to use current contents of index if index has changedvoid
moveToNextNvc()
version of moveToNext which bypasses the isValid check - call only if you've just done this check yourselfvoid
moveToNoReinit(FeatureStructure fs)
Internal use same as moveTo(fs), but won't reset to use current contents of index if index has changedvoid
moveToPreviousNvc()
version of moveToPrevious which bypasses the isValid check - call only if you've just done this check yourself-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.uima.cas.FSIterator
add, get, getType, hasNext, hasPrevious, moveToNext, moveToPrevious, next, nextIndex, nextNvc, previous, previousIndex, previousNvc, remove, set, size, spliterator, stream
-
Methods inherited from interface org.apache.uima.cas.impl.LowLevelIterator
getArrayList, isMoveToSupported, ll_get, ll_remove, moveTo, moveTo, moveToFirst, moveToLast
-
-
-
-
Field Detail
-
it
private LowLevelIterator<T extends FeatureStructure> it
-
cons
private FSMatchConstraint cons
-
-
Constructor Detail
-
FilteredIterator
private FilteredIterator()
-
FilteredIterator
FilteredIterator(FSIterator<T> it, FSMatchConstraint cons)
Create a filtered iterator from a base iterator and a constraint.
-
-
Method Detail
-
isValid
public boolean isValid()
Description copied from interface:FSIterator
Check if this iterator is valid.- Specified by:
isValid
in interfaceFSIterator<T extends FeatureStructure>
- Returns:
true
if the iterator is valid.
-
adjustForConstraintForward
private void adjustForConstraintForward()
-
adjustForConstraintBackward
private void adjustForConstraintBackward()
-
moveToFirstNoReinit
public void moveToFirstNoReinit()
Description copied from interface:LowLevelIterator
Internal use same as moveToFirst, but won't reset to use current contents of index if index has changed- Specified by:
moveToFirstNoReinit
in interfaceLowLevelIterator<T extends FeatureStructure>
-
moveToLastNoReinit
public void moveToLastNoReinit()
Description copied from interface:LowLevelIterator
Internal use same as moveToLast, but won't reset to use current contents of index if index has changed- Specified by:
moveToLastNoReinit
in interfaceLowLevelIterator<T extends FeatureStructure>
-
moveToNextNvc
public void moveToNextNvc()
Description copied from interface:FSIterator
version of moveToNext which bypasses the isValid check - call only if you've just done this check yourself- Specified by:
moveToNextNvc
in interfaceFSIterator<T extends FeatureStructure>
-
moveToPreviousNvc
public void moveToPreviousNvc()
Description copied from interface:FSIterator
version of moveToPrevious which bypasses the isValid check - call only if you've just done this check yourself- Specified by:
moveToPreviousNvc
in interfaceFSIterator<T extends FeatureStructure>
-
getNvc
public T getNvc()
Description copied from interface:FSIterator
Get the structure the iterator is pointing at. Throws various unchecked exceptions, if the iterator is not valid- Specified by:
getNvc
in interfaceFSIterator<T extends FeatureStructure>
- Returns:
- The structure the iterator is pointing at.
-
copy
public FilteredIterator<T> copy()
Description copied from interface:FSIterator
Copy this iterator.- Specified by:
copy
in interfaceFSIterator<T extends FeatureStructure>
- Returns:
- A copy of this iterator, pointing at the same element.
- See Also:
FSIterator.copy()
-
moveToNoReinit
public void moveToNoReinit(FeatureStructure fs)
Description copied from interface:LowLevelIterator
Internal use same as moveTo(fs), but won't reset to use current contents of index if index has changed- Specified by:
moveToNoReinit
in interfaceLowLevelIterator<T extends FeatureStructure>
- Parameters:
fs
- the fs to use as the template identifying the place to move to- See Also:
FSIterator.moveTo(FeatureStructure)
-
ll_indexSizeMaybeNotCurrent
public int ll_indexSizeMaybeNotCurrent()
- Specified by:
ll_indexSizeMaybeNotCurrent
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- The size of the index. In case of copy-on-write, this returns the size of the index at the time the iterator was created, or at the last moveTo, moveToFirst, or moveToLast. To get the current index size, use ll_getIndex().getSize()
-
ll_getIndex
public LowLevelIndex<T> ll_getIndex()
Description copied from interface:LowLevelIterator
Get the index for just the top most type of this iterator (excludes subtypes).- Specified by:
ll_getIndex
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- The index.
-
ll_maxAnnotSpan
public int ll_maxAnnotSpan()
- Specified by:
ll_maxAnnotSpan
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- an estimate of the maximum span over all annotations (end - begin)
-
isIndexesHaveBeenUpdated
public boolean isIndexesHaveBeenUpdated()
- Specified by:
isIndexesHaveBeenUpdated
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- true if one or more of the underlying indexes this iterator goes over, has been updated since initialization or resetting operation (moveToFirst/Last/feature_structure). This includes empty iterators becoming non-empty.
-
maybeReinitIterator
public boolean maybeReinitIterator()
Description copied from interface:LowLevelIterator
Internal use- Specified by:
maybeReinitIterator
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- true if the iterator was refreshed to match the current index
-
getComparator
public java.util.Comparator<TOP> getComparator()
- Specified by:
getComparator
in interfaceLowLevelIterator<T extends FeatureStructure>
- Returns:
- the comparator used by this iterator. It is always a withoutID style, and may be either a withType or NoType style.
-
-