Package org.geotools.data
Class DiffFeatureReader<T extends FeatureType,F extends Feature>
- Object
-
- DiffFeatureReader<T,F>
-
- All Implemented Interfaces:
Closeable,AutoCloseable,FeatureReader<T,F>
public class DiffFeatureReader<T extends FeatureType,F extends Feature> extends Object implements FeatureReader<T,F>
A FeatureReader that considers differences.Used to implement In-Process Transaction support. This implementation will need to peek ahead in order to check for deletetions.
- Author:
- Jody Garnett, Refractions Research
-
-
Constructor Summary
Constructors Constructor Description DiffFeatureReader(FeatureReader<T,F> reader, Diff diff2)This constructor grabs a "copy" of the current diff.DiffFeatureReader(FeatureReader<T,F> reader, Diff diff2, Filter filter)This constructor grabs a "copy" of the current diff.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Release the underlying resources associated with this stream.protected EnvelopeextractBboxForSpatialIndexQuery(BinarySpatialOperator filter)TgetFeatureType()Return the FeatureType this reader has been configured to create.protected ListgetIndexedFeatures()booleanhasNext()Query whether this FeatureReader has another Feature.protected booleanisDefaultGeometry(PropertyName ae)protected booleanisSubsetOfBboxFilter(Filter f)Fnext()Reads the next Feature in the FeatureReader.protected voidqueryAdded()protected voidqueryDiff()protected voidqueryFidFilter()protected voidqueryModified()protected voidquerySpatialIndex()
-
-
-
Constructor Detail
-
DiffFeatureReader
public DiffFeatureReader(FeatureReader<T,F> reader, Diff diff2)
This constructor grabs a "copy" of the current diff.This reader is not "live" to changes over the course of the Transaction. (Iterators are not always stable of the course of modifications)
- Parameters:
diff2- Differences of Feature by FID
-
DiffFeatureReader
public DiffFeatureReader(FeatureReader<T,F> reader, Diff diff2, Filter filter)
This constructor grabs a "copy" of the current diff.This reader is not "live" to changes over the course of the Transaction. (Iterators are not always stable of the course of modifications)
- Parameters:
diff2- Differences of Feature by FID
-
-
Method Detail
-
getFeatureType
public T getFeatureType()
Description copied from interface:FeatureReaderReturn the FeatureType this reader has been configured to create.- Specified by:
getFeatureTypein interfaceFeatureReader<T extends FeatureType,F extends Feature>- Returns:
- the FeatureType of the Features this FeatureReader will create.
- See Also:
FeatureReader.getFeatureType()
-
next
public F next() throws IOException, IllegalAttributeException, NoSuchElementException
Description copied from interface:FeatureReaderReads the next Feature in the FeatureReader.- Specified by:
nextin interfaceFeatureReader<T extends FeatureType,F extends Feature>- 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:
FeatureReader.next()
-
hasNext
public boolean hasNext() throws IOExceptionDescription copied from interface:FeatureReaderQuery whether this FeatureReader has another Feature.- Specified by:
hasNextin interfaceFeatureReader<T extends FeatureType,F extends Feature>- 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:
FeatureReader.hasNext()
-
close
public void close() throws IOExceptionDescription copied from interface:FeatureReaderRelease the underlying resources associated with this stream.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceFeatureReader<T extends FeatureType,F extends Feature>- Throws:
IOException- if an I/O error occurs- See Also:
FeatureReader.close()
-
queryDiff
protected void queryDiff()
-
querySpatialIndex
protected void querySpatialIndex()
-
queryAdded
protected void queryAdded()
-
queryModified
protected void queryModified()
-
queryFidFilter
protected void queryFidFilter()
-
getIndexedFeatures
protected List getIndexedFeatures()
-
extractBboxForSpatialIndexQuery
protected Envelope extractBboxForSpatialIndexQuery(BinarySpatialOperator filter)
-
isDefaultGeometry
protected boolean isDefaultGeometry(PropertyName ae)
-
isSubsetOfBboxFilter
protected boolean isSubsetOfBboxFilter(Filter f)
-
-