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 void
close()
Release the underlying resources associated with this stream.protected Envelope
extractBboxForSpatialIndexQuery(BinarySpatialOperator filter)
T
getFeatureType()
Return the FeatureType this reader has been configured to create.protected List
getIndexedFeatures()
boolean
hasNext()
Query whether this FeatureReader has another Feature.protected boolean
isDefaultGeometry(PropertyName ae)
protected boolean
isSubsetOfBboxFilter(Filter f)
F
next()
Reads the next Feature in the FeatureReader.protected void
queryAdded()
protected void
queryDiff()
protected void
queryFidFilter()
protected void
queryModified()
protected void
querySpatialIndex()
-
-
-
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:FeatureReader
Return the FeatureType this reader has been configured to create.- Specified by:
getFeatureType
in 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:FeatureReader
Reads the next Feature in the FeatureReader.- Specified by:
next
in 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 IOException
Description copied from interface:FeatureReader
Query whether this FeatureReader has another Feature.- Specified by:
hasNext
in 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 IOException
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<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)
-
-