org.geotools.data.sort
Class SortedFeatureReader

Object
  extended by SortedFeatureReader
All Implemented Interfaces:
Closeable, FeatureReader<SimpleFeatureType,SimpleFeature>, SimpleFeatureReader

public class SortedFeatureReader
extends Object
implements SimpleFeatureReader

FeatureReader used to sort contents.

The implementation makes use of {@link MergeSortDumper).


Constructor Summary
SortedFeatureReader(SimpleFeatureReader reader, Query query)
          Builds a new sorting feature reader
SortedFeatureReader(SimpleFeatureReader reader, SortBy[] sortBy, int maxFeatures)
          Builds a new sorting feature reader
 
Method Summary
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.
 SimpleFeatureType getFeatureType()
          Return the FeatureType this reader has been configured to create.
 boolean hasNext()
          Query whether this FeatureReader has another Feature.
 SimpleFeature next()
          Reads the next Feature in the FeatureReader.
 
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SortedFeatureReader

public SortedFeatureReader(SimpleFeatureReader reader,
                           Query query)
                    throws IOException
Builds a new sorting feature reader

Parameters:
reader - The reader to be sorted
query - The query holding the SortBy directives, and the eventual max features in memory hint Hints.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 sorted
sortBy - The sorting directives
maxFeatures - The maximum number of features to keep in memory
Throws:
IOException
Method Detail

canSort

public static final boolean canSort(SimpleFeatureType schema,
                                    SortBy[] sortBy)
Checks if the schema and the sortBy are suitable for merge/sort. All attributes need to be Serializable, all sorting attributes need to be Comparable

Parameters:
schema -
sortBy -
Returns:

getFeatureType

public SimpleFeatureType getFeatureType()
Description copied from interface: FeatureReader
Return the FeatureType this reader has been configured to create.

Specified by:
getFeatureType in interface FeatureReader<SimpleFeatureType,SimpleFeature>
Returns:
the FeatureType of the Features this FeatureReader will create.

next

public SimpleFeature next()
                   throws IOException,
                          IllegalArgumentException,
                          NoSuchElementException
Description copied from interface: FeatureReader
Reads the next Feature in the FeatureReader.

Specified by:
next in interface FeatureReader<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

public boolean hasNext()
                throws IOException
Description copied from interface: FeatureReader
Query whether this FeatureReader has another Feature.

Specified by:
hasNext in interface FeatureReader<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

public void close()
           throws IOException
Description copied from interface: FeatureReader
Release the underlying resources associated with this stream.

Specified by:
close in interface Closeable
Specified by:
close in interface FeatureReader<SimpleFeatureType,SimpleFeature>
Throws:
IOException - if an I/O error occurs


Copyright © 1996-2014 Geotools. All Rights Reserved.