Provides a feature encoder and decoder
Provides a feature type based on the iterator config
Provides an arbitrary filter if the iterator config specifies one
Provides deduplication if the iterator config specifies it
Provides an index value decoder
We need a concrete class to mix the traits into.
Provides a spatio-temporal filter (date and geometry only) if the iterator config specifies one
Provides a feature type transformation if the iterator config specifies one
This is an Index Only Iterator, to be used in situations where the data records are not useful enough to pay the penalty of decoding when using the SpatioTemporalIntersectingIterator.
This is an Index Only Iterator, to be used in situations where the data records are not useful enough to pay the penalty of decoding when using the SpatioTemporalIntersectingIterator.
This iterator returns as its nextKey the key for the index. nextValue is the value for the INDEX, mapped into a SimpleFeature
Defines common iterator functionality in traits that can be mixed-in to iterator implementations
Functions optimized for a single execution path
This iterator returns as its nextKey and nextValue responses the key and value from the DATA iterator, not from the INDEX iterator.
This iterator returns as its nextKey and nextValue responses the key and value from the DATA iterator, not from the INDEX iterator. The assumption is that the data rows are what we care about; that we do not care about the index rows that merely helped us find the data rows quickly.
The other trick to remember about iterators is that they essentially pre-fetch data. "hasNext" really means, "was there a next record that you already found".
We need a concrete class to mix the traits into. This way they can share a common 'init' method that will be called for each trait. See http://stackoverflow.com/a/1836619