Package org.geotools.jdbc
Class JDBCFeatureReader
- Object
-
- JDBCFeatureReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable,FeatureReader<SimpleFeatureType,SimpleFeature>
- Direct Known Subclasses:
JDBCInsertFeatureWriter,JDBCJoiningFeatureReader,JDBCUpdateFeatureWriter
public class JDBCFeatureReader extends Object implements FeatureReader<SimpleFeatureType,SimpleFeature>
Reader for jdbc datastore- Author:
- Justin Deoliveira, The Open Plannign Project.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classJDBCFeatureReader.ResultSetFeatureFeature wrapper around a result set.
-
Field Summary
Fields Modifier and Type Field Description protected SimpleFeatureBuilderbuilderfeature builderprotected JDBCReaderCallbackcallbackprotected String[]columnNamesprotected Connectioncxprotected JDBCDataStoredataStorethe datastoreprotected JDBCFeatureSourcefeatureSourceThe feature source the reader originated from.protected SimpleFeatureTypefeatureTypeschema of featuresprotected GeometryFactorygeometryFactorygeometry factory used to create geometry objectsprotected Hintshintshintsprotected static LoggerLOGGERprotected ResultSetMetaDatamdprotected Booleannextflag indicating if the iterator has another featureprotected intoffsetoffset/column index to start reading from result setprotected PrimaryKeypkeyThe primary keyprotected Queryquerythe queryprotected ResultSetrsprotected ScreenMapscreenMapScreenmap for feature skipping behaviourprotected Statementststatement,result set that is being worked from.protected static BooleanTRACE_ENABLEDWhen true, the stack trace that created a reader that wasn't closed is recorded and then printed out when warning the user about this.protected Exceptiontracerprotected Transactiontxcurrent transaction
-
Constructor Summary
Constructors Constructor Description JDBCFeatureReader(String sql, Connection cx, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query)JDBCFeatureReader(PreparedStatement st, Connection cx, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query)JDBCFeatureReader(ResultSet rs, Connection cx, int offset, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query)JDBCFeatureReader(JDBCFeatureReader other)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcleanup()Cleans up the reader state without closing the accessory resultset, statement and connection.voidclose()Release the underlying resources associated with this stream.protected voidensureNext()protected voidensureOpen()protected voidfinalize()SimpleFeatureTypegetFeatureType()Return the FeatureType this reader has been configured to create.PrimaryKeygetPrimaryKey()QuerygetQuery()booleanhasNext()Query whether this FeatureReader has another Feature.protected voidinit(JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query)SimpleFeaturenext()Reads the next Feature in the FeatureReader.protected SimpleFeaturereadNextFeature()voidsetNext(Boolean next)
-
-
-
Field Detail
-
LOGGER
protected static final Logger LOGGER
-
TRACE_ENABLED
protected static final Boolean TRACE_ENABLED
When true, the stack trace that created a reader that wasn't closed is recorded and then printed out when warning the user about this.
-
featureSource
protected JDBCFeatureSource featureSource
The feature source the reader originated from.
-
dataStore
protected JDBCDataStore dataStore
the datastore
-
featureType
protected SimpleFeatureType featureType
schema of features
-
geometryFactory
protected GeometryFactory geometryFactory
geometry factory used to create geometry objects
-
query
protected Query query
the query
-
hints
protected Hints hints
hints
-
screenMap
protected ScreenMap screenMap
Screenmap for feature skipping behaviour
-
tx
protected Transaction tx
current transaction
-
next
protected Boolean next
flag indicating if the iterator has another feature
-
builder
protected SimpleFeatureBuilder builder
feature builder
-
pkey
protected PrimaryKey pkey
The primary key
-
st
protected Statement st
statement,result set that is being worked from.
-
rs
protected ResultSet rs
-
cx
protected Connection cx
-
md
protected ResultSetMetaData md
-
tracer
protected Exception tracer
-
columnNames
protected String[] columnNames
-
offset
protected int offset
offset/column index to start reading from result set
-
callback
protected JDBCReaderCallback callback
-
-
Constructor Detail
-
JDBCFeatureReader
public JDBCFeatureReader(String sql, Connection cx, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query) throws SQLException
- Throws:
SQLException
-
JDBCFeatureReader
public JDBCFeatureReader(PreparedStatement st, Connection cx, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query) throws SQLException
- Throws:
SQLException
-
JDBCFeatureReader
public JDBCFeatureReader(ResultSet rs, Connection cx, int offset, JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query) throws SQLException
- Throws:
SQLException
-
JDBCFeatureReader
public JDBCFeatureReader(JDBCFeatureReader other)
-
-
Method Detail
-
init
protected void init(JDBCFeatureSource featureSource, SimpleFeatureType featureType, Query query)
-
setNext
public void setNext(Boolean next)
-
getFeatureType
public SimpleFeatureType getFeatureType()
Description copied from interface:FeatureReaderReturn the FeatureType this reader has been configured to create.- Specified by:
getFeatureTypein interfaceFeatureReader<SimpleFeatureType,SimpleFeature>- Returns:
- the FeatureType of the Features this FeatureReader will create.
-
getPrimaryKey
public PrimaryKey getPrimaryKey()
-
getQuery
public Query getQuery()
-
hasNext
public boolean hasNext() throws IOExceptionDescription copied from interface:FeatureReaderQuery whether this FeatureReader has another Feature.- Specified by:
hasNextin 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.
-
readNextFeature
protected SimpleFeature readNextFeature()
-
ensureNext
protected void ensureNext()
-
ensureOpen
protected void ensureOpen() throws IOException- Throws:
IOException
-
next
public SimpleFeature next() throws IOException, IllegalArgumentException, NoSuchElementException
Description copied from interface:FeatureReaderReads the next Feature in the FeatureReader.- Specified by:
nextin 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.IllegalArgumentException
-
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<SimpleFeatureType,SimpleFeature>- Throws:
IOException- if an I/O error occurs
-
cleanup
protected void cleanup() throws IOExceptionCleans up the reader state without closing the accessory resultset, statement and connection. Use only if the above are shared with another object that will take care of closing them.- Throws:
IOException
-
-