Package org.geotools.data.sort
Class SortedFeatureReader
Object
SortedFeatureReader
- All Implemented Interfaces:
Closeable,AutoCloseable,FeatureReader<SimpleFeatureType,,SimpleFeature> SimpleFeatureReader
FeatureReader used to sort contents.
The implementation makes use of {@link MergeSortDumper).
-
Constructor Summary
ConstructorsConstructorDescriptionSortedFeatureReader(SimpleFeatureReader reader, Query query) Builds a new sorting feature readerSortedFeatureReader(SimpleFeatureReader reader, SortBy[] sortBy, int maxFeatures) Builds a new sorting feature reader -
Method Summary
Modifier and TypeMethodDescriptionstatic final booleancanSort(SimpleFeatureType schema, SortBy... sortBy) Checks if the schema and the sortBy are suitable for merge/sort.voidclose()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 memorystatic Comparator<SimpleFeature>getComparator(SortBy[] sortBy, SimpleFeatureType schema) Builds a comparator that can be used to sort SimpleFeature instances in memoryReturn the FeatureType this reader has been configured to create.static intGets the max amount amount of features to keep in memory from the query and system hintsbooleanhasNext()Query whether this FeatureReader has another Feature.next()Reads the next Feature in the FeatureReader.
-
Constructor Details
-
SortedFeatureReader
Builds a new sorting feature reader- Parameters:
reader- The reader to be sortedquery- The query holding the SortBy directives, and the eventual max features in memory hintHints.MAX_MEMORY_SORT- Throws:
IOException
-
SortedFeatureReader
public SortedFeatureReader(SimpleFeatureReader reader, SortBy[] sortBy, int maxFeatures) throws IOException Builds a new sorting feature reader- Parameters:
reader- The reader to be sortedsortBy- The sorting directivesmaxFeatures- The maximum number of features to keep in memory- Throws:
IOException
-
-
Method Details
-
canSort
Checks if the schema and the sortBy are suitable for merge/sort. All attributes need to beSerializable, all sorting attributes need to beComparable -
getMaxFeaturesInMemory
Gets the max amount amount of features to keep in memory from the query and system hints -
getFeatureType
Description copied from interface:FeatureReaderReturn the FeatureType this reader has been configured to create.- Specified by:
getFeatureTypein interfaceFeatureReader<SimpleFeatureType,SimpleFeature> - Returns:
- the FeatureType of the Features this FeatureReader will create.
-
next
Description copied from interface:FeatureReaderReads the next Feature in the FeatureReader.- Specified by:
nextin interfaceFeatureReader<SimpleFeatureType,SimpleFeature> - Returns:
- The next feature in the reader.
- Throws:
IOException- If an error occurs reading the Feature.NoSuchElementException- If there are no more Features in the Reader.IllegalArgumentException
-
hasNext
Description copied from interface:FeatureReaderQuery whether this FeatureReader has another Feature.- Specified by:
hasNextin interfaceFeatureReader<SimpleFeatureType,SimpleFeature> - Returns:
- True if there are more Features to be read. In other words, true if calls to next would return a feature rather than throwing an exception.
- Throws:
IOException- If an error occurs determining if there are more Features.
-
close
Description copied from interface:FeatureReaderRelease the underlying resources associated with this stream.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceFeatureReader<SimpleFeatureType,SimpleFeature> - Throws:
IOException- if an I/O error occurs
-
getComparator
Builds a comparator that can be used to sort SimpleFeature instances in memory -
getComparator
Builds a comparator that can be used to sort SimpleFeature instances in memory
-