public class SortedFeatureReader extends Object implements SimpleFeatureReader
The implementation makes use of {@link MergeSortDumper).
Constructor and Description |
---|
SortedFeatureReader(SimpleFeatureReader reader,
Query query)
Builds a new sorting feature reader
|
SortedFeatureReader(SimpleFeatureReader reader,
SortBy[] sortBy,
int maxFeatures)
Builds a new sorting feature reader
|
Modifier and Type | Method and Description |
---|---|
static boolean |
canSort(SimpleFeatureType schema,
SortBy[] sortBy)
Checks if the schema and the sortBy are suitable for merge/sort.
|
void |
close()
Release the underlying resources associated with this stream.
|
static Comparator<SimpleFeature> |
getComparator(SortBy[] sortBy)
Builds a comparator that can be used to sort SimpleFeature instances in memory
|
SimpleFeatureType |
getFeatureType()
Return the FeatureType this reader has been configured to create.
|
static int |
getMaxFeaturesInMemory(Query q)
Gets the max amount amount of features to keep in memory from the query and system hints
|
boolean |
hasNext()
Query whether this FeatureReader has another Feature.
|
SimpleFeature |
next()
Reads the next Feature in the FeatureReader.
|
public SortedFeatureReader(SimpleFeatureReader reader, Query query) throws IOException
reader
- The reader to be sortedquery
- The query holding the SortBy directives, and the eventual max features in memory
hint Hints.MAX_MEMORY_SORT
IOException
public SortedFeatureReader(SimpleFeatureReader reader, SortBy[] sortBy, int maxFeatures) throws IOException
reader
- The reader to be sortedsortBy
- The sorting directivesmaxFeatures
- The maximum number of features to keep in memoryIOException
public static final boolean canSort(SimpleFeatureType schema, SortBy[] sortBy)
Serializable
, all sorting attributes need to be Comparable
schema
- sortBy
- public static int getMaxFeaturesInMemory(Query q)
query
- public SimpleFeatureType getFeatureType()
FeatureReader
getFeatureType
in interface FeatureReader<SimpleFeatureType,SimpleFeature>
public SimpleFeature next() throws IOException, IllegalArgumentException, NoSuchElementException
FeatureReader
next
in interface FeatureReader<SimpleFeatureType,SimpleFeature>
IOException
- If an error occurs reading the Feature.NoSuchElementException
- If there are no more Features in the Reader.IllegalArgumentException
public boolean hasNext() throws IOException
FeatureReader
hasNext
in interface FeatureReader<SimpleFeatureType,SimpleFeature>
IOException
- If an error occurs determining if there are more Features.public void close() throws IOException
FeatureReader
close
in interface Closeable
close
in interface AutoCloseable
close
in interface FeatureReader<SimpleFeatureType,SimpleFeature>
IOException
- if an I/O error occurspublic static Comparator<SimpleFeature> getComparator(SortBy[] sortBy)
sortBy
- Copyright © 1996–2019 Geotools. All rights reserved.