Class AnnotationDocumentIterator.AnnotationIntervalIterator
- java.lang.Object
-
- it.unimi.di.big.mg4j.search.AnnotationDocumentIterator.AnnotationIntervalIterator
-
- All Implemented Interfaces:
IntervalIterator
- Enclosing class:
- AnnotationDocumentIterator
protected class AnnotationDocumentIterator.AnnotationIntervalIterator extends Object implements IntervalIterator
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AnnotationIntervalIterator(Index index)
-
Method Summary
Modifier and Type Method Description int
extent()
Returns an approximation of a lower bound for the length of an interval returned by this iterator.void
intervalTerms(LongSet terms)
Provides the set of terms that span the current interval.Interval
nextInterval()
Returns the next interval provided by this interval iterator, ornull
if no more intervals are available.IntervalIterator
reset()
Resets the internal state of this iterator for a new document.String
toString()
-
-
-
Constructor Detail
-
AnnotationIntervalIterator
protected AnnotationIntervalIterator(Index index)
-
-
Method Detail
-
reset
public IntervalIterator reset() throws IOException
Description copied from interface:IntervalIterator
Resets the internal state of this iterator for a new document.To reduce object creation, interval iterators are usually created in a lazy fashion by document iterator when they are needed. However, this implies that every time the document iterator is moved, some internal state of the interval iterator must be reset (e.g., because on the new document some of the component interval iterators are now
IntervalIterators.TRUE
). The semantics of this method is largely implementation dependent, with the important exception that the return value must beIntervalIterators.FALSE
if the first call toIntervalIterator.nextInterval()
will returnnull
.- Specified by:
reset
in interfaceIntervalIterator
- Returns:
IntervalIterators.FALSE
if this interval iterator will returnnull
at the first call toIntervalIterator.nextInterval()
; this interval iterator, otherwise.- Throws:
IOException
-
intervalTerms
public void intervalTerms(LongSet terms)
Description copied from interface:IntervalIterator
Provides the set of terms that span the current interval.For each interval returned by MG4J, there is a set of terms that caused the interval to be returned. The terms appear inside the interval, and certainly at its extremes.
Note that the results of this method must be taken with a grain of salt: there might be different sets of terms causing the current interval, and only one will be returned.
- Specified by:
intervalTerms
in interfaceIntervalIterator
- Parameters:
terms
- a set of integers that will be filled with the terms spanning the current interval.
-
nextInterval
public Interval nextInterval() throws IOException
Description copied from interface:IntervalIterator
Returns the next interval provided by this interval iterator, ornull
if no more intervals are available.- Specified by:
nextInterval
in interfaceIntervalIterator
- Returns:
- the next interval, or
null
if no more intervals are available. - Throws:
IOException
-
extent
public int extent()
Description copied from interface:IntervalIterator
Returns an approximation of a lower bound for the length of an interval returned by this iterator.- Specified by:
extent
in interfaceIntervalIterator
- Returns:
- an approximation of a lower bound for the length of an interval.
-
-