|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
ObjectContentFeatureSource
JDBCFeatureSource
public class JDBCFeatureSource
| Field Summary |
|---|
| Fields inherited from class ContentFeatureSource |
|---|
entry, hints, lock, query, queryCapabilities, schema, transaction |
| Constructor Summary | |
|---|---|
|
JDBCFeatureSource(ContentEntry entry,
Query query)
Creates the new feature store. |
protected |
JDBCFeatureSource(JDBCFeatureSource featureSource)
Copy existing feature source |
| Method Summary | |
|---|---|
protected void |
addHints(Set<Hints.Key> hints)
Subclass hook too add additional hints. |
protected SimpleFeatureType |
buildFeatureType()
Builds the feature type from database metadata. |
protected QueryCapabilities |
buildQueryCapabilities()
Builds the query capabilities for this feature source. |
protected boolean |
canFilter()
Determines if the datastore can natively perform a filtering. |
protected boolean |
canLimit()
Determines if the datastore can natively limit the number of features returned in a query. |
protected boolean |
canOffset()
Determines if the datastore can natively skip the first offset number of features
returned in a query. |
protected boolean |
canRetype()
Determines if the datasatore can natively perform "retyping" which includes limiting the number of attributes returned and reordering of those attributes If the subclass can handle retyping natively it should override this method to return true. |
protected boolean |
canSort()
Determines if the datastore can natively perform sorting. |
protected boolean |
canTransact()
Determines if the store can natively manage transactions. |
protected ReferencedEnvelope |
getBoundsInternal(Query query)
Calculates the bounds of a specified query. |
protected int |
getCountInternal(Query query)
Calculates the number of features of a specified query. |
JDBCDataStore |
getDataStore()
Type narrow to JDBCDataStore. |
PrimaryKey |
getPrimaryKey()
Returns the primary key of the table backed by feature store. |
protected FeatureReader<SimpleFeatureType,SimpleFeature> |
getReaderInternal(Query query)
Subclass method for returning a native reader from the datastore. |
JDBCState |
getState()
Type narrow to JDBCState. |
protected boolean |
handleVisitor(Query query,
FeatureVisitor visitor)
Subclass method which allows subclasses to natively handle a visitor. |
boolean |
isExposePrimaryKeyColumns()
The flag which will expose columns which compose a tables identifying or primary key, through feature type attributes. |
void |
setExposePrimaryKeyColumns(boolean exposePrimaryKeyColumns)
Sets the flag which will expose columns which compose a tables identifying or primary key, through feature type attributes. |
| Methods inherited from class Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public JDBCFeatureSource(ContentEntry entry,
Query query)
throws IOException
entry - The datastore entry.query - The defining query.
IOException
protected JDBCFeatureSource(JDBCFeatureSource featureSource)
throws IOException
featureSource - jdbc feature source
IOException| Method Detail |
|---|
protected QueryCapabilities buildQueryCapabilities()
ContentFeatureSource
buildQueryCapabilities in class ContentFeatureSourceprotected void addHints(Set<Hints.Key> hints)
ContentFeatureSourceBy default, the followings are already present:
addHints in class ContentFeatureSourcehints - The set of hints supported by the feature source.public JDBCDataStore getDataStore()
JDBCDataStore.
getDataStore in interface FeatureSource<SimpleFeatureType,SimpleFeature>getDataStore in class ContentFeatureSourceFeatureSourcepublic JDBCState getState()
JDBCState.
getState in class ContentFeatureSource#setTransaction(Transaction)}.public PrimaryKey getPrimaryKey()
public void setExposePrimaryKeyColumns(boolean exposePrimaryKeyColumns)
Note: setting this flag which affect all feature sources created from or working against the current transaction.
public boolean isExposePrimaryKeyColumns()
protected SimpleFeatureType buildFeatureType()
throws IOException
buildFeatureType in class ContentFeatureSourceIOException
protected int getCountInternal(Query query)
throws IOException
ContentFeatureSource
getCountInternal in class ContentFeatureSourceIOException
protected ReferencedEnvelope getBoundsInternal(Query query)
throws IOException
ContentFeatureSource
getBoundsInternal in class ContentFeatureSourceIOExceptionprotected boolean canFilter()
ContentFeatureSource
If the subclass can handle filtering natively it should override this method
to return true. In this case it must do the filtering
or throw an exception. This includes the case of partial native filtering
where the datastore can only handle part of the filter natively. In these
cases it is up to the subclass to apply a decorator to the reader it returns
which will handle any part of the filter can was not applied natively. See
FilteringFeatureReader.
Not overriding this method or returning false will cause the
feature reader created by the subclass to be wrapped in a filtering feature
reader when the query specifies a filter. See FilteringFeatureReader.
canFilter in class ContentFeatureSourceprotected boolean canSort()
ContentFeatureSource
If the subclass can handle retyping natively it should override this method
to return true. In this case it must do the retyping
or throw an exception.
Not overriding this method or returning false will cause an
exception to be thrown when the query specifies sorting.
canSort in class ContentFeatureSourceSortedFeatureReaderprotected boolean canRetype()
ContentFeatureSource
If the subclass can handle retyping natively it should override this method
to return true. In this case it must do the retyping
or throw an exception.
Not overriding this method or returning false will cause the
feature reader created by the subclass to be wrapped in a retyping feature
reader when the query specifies a retype.
canRetype in class ContentFeatureSourceReTypeFeatureReaderprotected boolean canLimit()
ContentFeatureSource
If the subclass can handle a map feature cap natively then it should override
this method to return true. In this case it must do
the cap or throw an exception.
Not overriding this method or returning false will case the
feature reader created by the subclass to be wrapped in a max feature capping
decorator when the query specifies a max feature cap.
canLimit in class ContentFeatureSourceMaxFeatureReaderprotected boolean canOffset()
ContentFeatureSourceoffset number of features
returned in a query.
If the subclass can handle a map feature cap natively then it should override
this method to return true. In this case it must do
the cap or throw an exception.
Not overriding this method or returning false will case the
feature reader created by the subclass to be be accesset offset times before
being returned to the caller.
canOffset in class ContentFeatureSourceprotected boolean canTransact()
ContentFeatureSource
If a subclass can handle transactions natively it should override this
method to return true and deal with transactions on its own,
including firing feature modifications events.
canTransact in class ContentFeatureSource
protected FeatureReader<SimpleFeatureType,SimpleFeature> getReaderInternal(Query query)
throws IOException
ContentFeatureSourceIt is important to note that if the native reader intends to handle any of the following natively:
true:
ContentFeatureSource.canReproject() - handles Query.getCoordinateSystemReproject() internally.
Example would be PostGIS using Proj to handle reproejction internallyContentFeatureSource.canFilter() - handles Query#getFilter() internally.
getReaderInternal in class ContentFeatureSourceIOException
protected boolean handleVisitor(Query query,
FeatureVisitor visitor)
throws IOException
ContentFeatureSourceSubclasses would override this method and return true in cases where the specific visitor could be handled without iterating over the entire result set of query. An example would be handling visitors that calculate aggregate values.
handleVisitor in class ContentFeatureSourcequery - The query being made.visitor - The visitor to
IOException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||