Package org.geotools.data
Class ReTypeFeatureReader
Object
ReTypeFeatureReader
- All Implemented Interfaces:
Closeable
,AutoCloseable
,DelegatingFeatureReader<SimpleFeatureType,
,SimpleFeature> FeatureReader<SimpleFeatureType,
SimpleFeature>
public class ReTypeFeatureReader
extends Object
implements DelegatingFeatureReader<SimpleFeatureType,SimpleFeature>
Supports on the fly retyping of FeatureReader<SimpleFeatureType, SimpleFeature> contents.
This may be used to have a DataStore work with your own representation of Feature information.
Example Use:
FeatureReader<SimpleFeatureType, SimpleFeature> 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
}
This Reader makes a simple one to one between the original schema and the target schema based on descriptor name.
- Author:
- Jody Garnett (Refractions Research)
-
Constructor Summary
ConstructorsConstructorDescriptionReTypeFeatureReader
(FeatureReader<SimpleFeatureType, SimpleFeature> reader, SimpleFeatureType featureType) Constructs a FetureReader that will ReType streaming content.ReTypeFeatureReader
(FeatureReader<SimpleFeatureType, SimpleFeature> reader, SimpleFeatureType featureType, boolean clone) Constructs a FetureReader that will ReType streaming content. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Release the underlying resources associated with this stream.Return the FeatureType this reader has been configured to create.boolean
hasNext()
Query whether this FeatureReader has another Feature.next()
Reads the next Feature in the FeatureReader.protected AttributeDescriptor[]
typeAttributes
(SimpleFeatureType target, SimpleFeatureType origional) Supplies mapping from original to target FeatureType.
-
Constructor Details
-
ReTypeFeatureReader
public ReTypeFeatureReader(FeatureReader<SimpleFeatureType, SimpleFeature> reader, SimpleFeatureType featureType) Constructs a FetureReader that will ReType streaming content.- Parameters:
reader
- Original FeatureReaderfeatureType
- Target FeatureType
-
ReTypeFeatureReader
public ReTypeFeatureReader(FeatureReader<SimpleFeatureType, SimpleFeature> reader, SimpleFeatureType featureType, boolean clone) Constructs a FetureReader that will ReType streaming content.- Parameters:
reader
- Original FeatureReaderfeatureType
- Target FeatureTypeclone
- true to clone the content- Since:
- 2.3
-
-
Method Details
-
getDelegate
- Specified by:
getDelegate
in interfaceDelegatingFeatureReader<SimpleFeatureType,
SimpleFeature> - Returns:
- The delegate feature reader.
-
typeAttributes
protected AttributeDescriptor[] typeAttributes(SimpleFeatureType target, SimpleFeatureType origional) Supplies mapping from original to target FeatureType.Will also ensure that mapping results in a valid selection of values from the original. Only the xpath expression and binding are checked.
- Parameters:
target
- Desired FeatureTypeorigional
- Original FeatureType- Returns:
- Mapping from originoal to target FeatureType
- Throws:
IllegalArgumentException
- if unable to provide a mapping
-
getFeatureType
Description copied from interface:FeatureReader
Return the FeatureType this reader has been configured to create.- Specified by:
getFeatureType
in interfaceFeatureReader<SimpleFeatureType,
SimpleFeature> - Returns:
- the FeatureType of the Features this FeatureReader will create.
- See Also:
-
next
Description copied from interface:FeatureReader
Reads the next Feature in the FeatureReader.- Specified by:
next
in 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.IllegalAttributeException
- See Also:
-
hasNext
Description copied from interface:FeatureReader
Query whether this FeatureReader has another Feature.- Specified by:
hasNext
in 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.- See Also:
-
close
Description copied from interface:FeatureReader
Release the underlying resources associated with this stream.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in interfaceFeatureReader<SimpleFeatureType,
SimpleFeature> - Throws:
IOException
- if an I/O error occurs- See Also:
-