org.geotools.data
Class ReTypeFeatureReader

java.lang.Object
  extended byorg.geotools.data.ReTypeFeatureReader
All Implemented Interfaces:
FeatureReader

public class ReTypeFeatureReader
extends java.lang.Object
implements FeatureReader

Supports on the fly retyping of FeatureReader contents.

This may be used to have a DataStore work with your own representation of Feature information.

Example Use:


 FeatureReader reader = dataStore.getFeatureReader( query, Transaction.AUTO_COMMIT );
 reader = new ReTypeFeatureReader( reader, myFeatureType );
 try {
   while( reader.hasNext() ){
     Feature f = reader.next();
     System.out.println( f );
   }
 }
 finally {
   reader.close(); // will close both
 } 
 

Author:
Jody Garnett, Refractions Research

Constructor Summary
ReTypeFeatureReader(FeatureReader reader, FeatureType featureType)
          Constructs a FetureReader that will ReType streaming content.
 
Method Summary
 void close()
          Release the underlying resources associated with this stream.
 FeatureType getFeatureType()
          Return the FeatureType this reader has been configured to create.
 boolean hasNext()
          Query whether this FeatureReader has another Feature.
 Feature next()
          Reads the next Feature in the FeatureReader.
protected  AttributeType[] typeAttributes(FeatureType target, FeatureType origional)
          Supplies mapping from origional to target FeatureType.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReTypeFeatureReader

public ReTypeFeatureReader(FeatureReader reader,
                           FeatureType featureType)
Constructs a FetureReader that will ReType streaming content.

Parameters:
reader - Origional FeatureReader
featureType - Target FeatureType
Method Detail

typeAttributes

protected AttributeType[] typeAttributes(FeatureType target,
                                         FeatureType origional)
Supplies mapping from origional to target FeatureType.

Will also ensure that origional can cover target

Parameters:
target - Desired FeatureType
origional - Origional FeatureType
Returns:
Mapping from originoal to target FeatureType
Throws:
java.lang.IllegalArgumentException - if unable to provide a mapping

getFeatureType

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

Specified by:
getFeatureType in interface FeatureReader
Returns:
the FeatureType of the Features this FeatureReader will create.
See Also:
FeatureReader.getFeatureType()

next

public Feature 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
Returns:
The next feature in the reader.
Throws:
java.util.NoSuchElementException - If there are no more Features in the Reader.
IllegalAttributeException - If the attributes read do not comply with the FeatureType.
java.io.IOException - If an error occurs reading the Feature.
See Also:
FeatureReader.next()

hasNext

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

Specified by:
hasNext in interface FeatureReader
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:
java.io.IOException - If an error occurs determining if there are more Features.
See Also:
FeatureReader.hasNext()

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
Throws:
java.io.IOException - DOCUMENT ME!
See Also:
FeatureReader.close()


Copyright © GeoTools. All Rights Reserved.