org.geotools.data
Class MaxFeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>

java.lang.Object
  extended by org.geotools.data.MaxFeatureReader<T,F>
All Implemented Interfaces:
DelegatingFeatureReader<T,F>, FeatureReader<T,F>

public class MaxFeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
extends java.lang.Object
implements DelegatingFeatureReader<T,F>

Basic support for a FeatureReader that limits itself to the number of features passed in.

Version:
$Id: MaxFeatureReader.java 31406 2008-09-05 02:11:38Z jdeolive $
Author:
Chris Holmes

Field Summary
protected  int counter
           
protected  FeatureReader<T,F> featureReader
           
protected  int maxFeatures
           
 
Constructor Summary
MaxFeatureReader(FeatureReader<T,F> featureReader, int maxFeatures)
          Creates a new instance of MaxFeatureReader
 
Method Summary
 void close()
          Release the underlying resources associated with this stream.
 FeatureReader<T,F> getDelegate()
           
 T getFeatureType()
          Return the FeatureType this reader has been configured to create.
 boolean hasNext()
          
 F next()
          Reads the next Feature in the FeatureReader.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

featureReader

protected final FeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature> featureReader

maxFeatures

protected final int maxFeatures

counter

protected int counter
Constructor Detail

MaxFeatureReader

public MaxFeatureReader(FeatureReader<T,F> featureReader,
                        int maxFeatures)
Creates a new instance of MaxFeatureReader

Parameters:
featureReader - FeatureReader being maxed
maxFeatures - DOCUMENT ME!
Method Detail

getDelegate

public FeatureReader<T,F> getDelegate()
Specified by:
getDelegate in interface DelegatingFeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
Returns:
The delegate feature reader.

next

public F next()
                                           throws java.io.IOException,
                                                  IllegalAttributeException,
                                                  java.util.NoSuchElementException
Description copied from interface: FeatureReader
Reads the next Feature in the FeatureReader.

Specified by:
next in interface FeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
Returns:
The next feature in the reader.
Throws:
java.io.IOException - If an error occurs reading the Feature.
IllegalAttributeException - If the attributes read do not comply with the FeatureType.
java.util.NoSuchElementException - If there are no more Features in the Reader.

close

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

Specified by:
close in interface FeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
Throws:
java.io.IOException - DOCUMENT ME!

getFeatureType

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

Specified by:
getFeatureType in interface FeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
Returns:
the FeatureType of the Features this FeatureReader will create.

hasNext

public boolean hasNext()
                throws java.io.IOException

Specified by:
hasNext in interface FeatureReader<T extends org.opengis.feature.type.FeatureType,F extends org.opengis.feature.Feature>
Returns:
true if the featureReader has not passed the max and still has more features.
Throws:
java.io.IOException - If the reader we are filtering encounters a problem


Copyright © 1996-2010 Geotools. All Rights Reserved.