public class JDBCStoreProvider extends AbstractFeatureStoreProvider implements JDBCHelperUser
AbstractFeatureStoreProvider.FeatureProviderNotFoundException
FeatureStoreProvider.FeatureTypeChanged
Modifier and Type | Field and Description |
---|---|
static String |
DESCRIPTION |
protected boolean |
directSQLMode |
protected JDBCHelper |
helper |
static String |
METADATA_DEFINITION_NAME |
static String |
NAME |
Modifier | Constructor and Description |
---|---|
|
JDBCStoreProvider(JDBCStoreParameters params,
DataStoreProviderServices storeServices) |
protected |
JDBCStoreProvider(JDBCStoreParameters params,
DataStoreProviderServices storeServices,
DynObject metadata) |
Modifier and Type | Method and Description |
---|---|
boolean |
allowAutomaticValues()
unsupported by default, override this otherwise
|
protected void |
appendWhere(StringBuilder sql,
String filter) |
void |
checksResulsets() |
void |
close()
do nothing by default, override this otherwise
|
void |
closeDone()
Called when the resource was close
|
protected boolean |
closeResource(ResourceProvider resource) |
boolean |
closeResourceRequested(ResourceProvider resource) |
void |
closeResulset(int resultsetID) |
protected void |
closeResulset(ResultSet rs) |
protected String |
compoundCountSelect(String filter) |
String |
compoundSelect(FeatureType type,
String filter,
String order,
long limit,
long offset) |
protected JDBCHelper |
createHelper() |
Object |
createNewOID()
Return a new OID valid for a new feature.
|
protected ResultSet |
createNewResultSet(String sql,
Object[] values,
int fetchSize) |
int |
createResultSet(String sql,
int fetchSize) |
int |
createResultSet(String sql,
Object[] values,
int fetchSize) |
FeatureSetProvider |
createSet(FeatureQuery query,
FeatureType featureType)
Factory of
FeatureSetProvider . |
protected void |
doDispose()
Internal implementation for the
AbstractDisposable.dispose() method, to be
implemented by child classes. |
protected String |
fixFilter(String filter) |
protected void |
forceCloseAllResultSet() |
protected void |
forceCloseResultSet(int rsID) |
protected long |
getCount(String filter)
Get feature count for a
filter . |
Object |
getDynValue(String name) |
Envelope |
getEnvelope()
unsupported geometry by default (return
null ), override this
otherwise |
DataServerExplorer |
getExplorer()
unsupported by default (return null), override this otherwise
|
long |
getFeatureCount()
Returns total feature count of this store.
|
String |
getFullName() |
protected JDBCHelper |
getHelper() |
protected String |
getIsNullExpression()
Return "is null" expression for current provider
|
protected JDBCStoreParameters |
getJDBCParameters() |
String |
getName() |
int |
getOIDType()
Return OID data type (from
DataTypes ) of this store. |
String |
getProviderName()
Get the user name
|
ResourceProvider |
getResource() |
protected ResultSet |
getResultSet(int resultsetID) |
Object |
getSourceId() |
long |
getTimeToResulSetZombie() |
boolean |
hasGeometrySupport() |
protected void |
initFeatureType() |
protected FeatureProvider |
internalGetFeatureProviderByReference(FeatureReferenceProviderServices reference)
Returns a
FeatureProvider by reference, using the default
FeatureType . |
protected FeatureProvider |
internalGetFeatureProviderByReference(FeatureReferenceProviderServices reference,
FeatureType featureType)
Returns a
FeatureProvider by reference, using the provided
FeatureType . |
protected boolean |
isDirectSQLMode() |
void |
loadFeatureProvider(FeatureProvider data,
int resultsetID)
Load data form a resulset.
|
protected void |
loadFeatureProviderValue(FeatureProvider data,
ResultSet rs,
FeatureAttributeDescriptor attr) |
void |
open() |
void |
opendDone()
Called when the resource was open
|
protected int |
openResulsetCount() |
protected void |
resetCount() |
void |
resourceChanged(ResourceProvider resource) |
boolean |
resulsetNext(int resultsetID) |
void |
setTimeToResulSetZombie(long mlSeconds) |
abortAppend, allowWrite, append, beginAppend, canWriteGeometry, clear, createExpression, createFeatureLocks, createFeatureProvider, createFeatureSelection, createResource, delegate, endAppend, getChilds, getDynClass, getFeatureProviderByReference, getFeatureProviderByReference, getFeatureStore, getInterval, getParameters, getRetrievedFeaturesLimit, getStoreServices, getTimes, getTimes, hasDynMethod, hasDynValue, hasRetrievedFeaturesLimit, implement, invokeDynMethod, invokeDynMethod, isKnownEnvelope, isLocksSupported, performChanges, refresh, savePrjFile, setDynValue, setMetadata, supportsAppendMode
dispose, dispose
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
dispose
public static String NAME
public static String DESCRIPTION
public static final String METADATA_DEFINITION_NAME
protected JDBCHelper helper
protected boolean directSQLMode
public JDBCStoreProvider(JDBCStoreParameters params, DataStoreProviderServices storeServices) throws InitializeException
InitializeException
protected JDBCStoreProvider(JDBCStoreParameters params, DataStoreProviderServices storeServices, DynObject metadata) throws InitializeException
InitializeException
public Object getDynValue(String name) throws DynFieldNotFoundException
getDynValue
in interface DynObject
getDynValue
in class AbstractFeatureStoreProvider
DynFieldNotFoundException
protected JDBCStoreParameters getJDBCParameters()
public void loadFeatureProvider(FeatureProvider data, int resultsetID) throws DataException
resouceBegin
at the begining and
resourceEnd
at the end of execution.data
- resulsetID
- DataException
protected void loadFeatureProviderValue(FeatureProvider data, ResultSet rs, FeatureAttributeDescriptor attr) throws DataException
DataException
public long getTimeToResulSetZombie()
public void setTimeToResulSetZombie(long mlSeconds)
public final int createResultSet(String sql, int fetchSize) throws DataException
DataException
public final int createResultSet(String sql, Object[] values, int fetchSize) throws DataException
DataException
protected final void forceCloseAllResultSet() throws ResourceExecuteException, JDBCException
protected final void forceCloseResultSet(int rsID) throws ResourceExecuteException, JDBCException, InvalidResultSetIdException
protected final ResultSet getResultSet(int resultsetID) throws InvalidResultSetIdException
InvalidResultSetIdException
public final boolean resulsetNext(int resultsetID) throws JDBCException, InvalidResultSetIdException, ResourceExecuteException
public final void closeResulset(int resultsetID) throws JDBCException, InvalidResultSetIdException, ResourceExecuteException
public final void checksResulsets() throws JDBCException, InvalidResultSetIdException, ResourceExecuteException
protected void closeResulset(ResultSet rs) throws JDBCException, ResourceExecuteException
protected final int openResulsetCount()
public boolean closeResourceRequested(ResourceProvider resource)
closeResourceRequested
in interface ResourceConsumer
protected JDBCHelper createHelper() throws InitializeException
InitializeException
protected JDBCHelper getHelper()
protected void resetCount()
protected long getCount(String filter) throws DataException
filter
.filter
can be null
.resouceBegin
at the begining and
resourceEnd
at the end of execution.filter
- DataException
public void close() throws CloseException
AbstractFeatureStoreProvider
close
in class AbstractFeatureStoreProvider
CloseException
DataStoreProvider.close()
public void open() throws OpenException
OpenException
protected FeatureProvider internalGetFeatureProviderByReference(FeatureReferenceProviderServices reference) throws DataException
AbstractFeatureStoreProvider
FeatureProvider
by reference, using the default
FeatureType
. This method may be rewritten by the child classes as
an implementation of the
AbstractFeatureStoreProvider.getFeatureProviderByReference(FeatureReferenceProviderServices)
method.internalGetFeatureProviderByReference
in class AbstractFeatureStoreProvider
reference
- the reference to the FeatureProvider
FeatureProvider
being referencedDataException
- if there is an error loading the FeatureProvider
protected String getIsNullExpression()
protected FeatureProvider internalGetFeatureProviderByReference(FeatureReferenceProviderServices reference, FeatureType featureType) throws DataException
AbstractFeatureStoreProvider
FeatureProvider
by reference, using the provided
FeatureType
. This is the child classes implementation of the
AbstractFeatureStoreProvider.getFeatureProviderByReference(FeatureReferenceProviderServices)
method.internalGetFeatureProviderByReference
in class AbstractFeatureStoreProvider
reference
- the reference to the FeatureProvider
featureType
- the type of feature to loadFeatureProvider
being referencedDataException
- if there is an error loading the FeatureProvider
public int getOIDType()
FeatureStoreProvider
DataTypes
) of this store.getOIDType
in interface FeatureStoreProvider
FeatureStoreProvider#createNewOID()} {@link DataTypes}
protected void initFeatureType() throws InitializeException
InitializeException
protected ResultSet createNewResultSet(String sql, Object[] values, int fetchSize) throws DataException
DataException
protected boolean closeResource(ResourceProvider resource)
protected void appendWhere(StringBuilder sql, String filter)
public void closeDone() throws DataException
JDBCHelperUser
closeDone
in interface JDBCHelperUser
DataException
public void opendDone() throws DataException
JDBCHelperUser
opendDone
in interface JDBCHelperUser
DataException
public Envelope getEnvelope() throws DataException
AbstractFeatureStoreProvider
null
), override this
otherwisegetEnvelope
in interface FeatureStoreProvider
getEnvelope
in class AbstractFeatureStoreProvider
null
if
store not have geometry informationDataException
FeatureStoreProvider.getEnvelope()
public void resourceChanged(ResourceProvider resource)
resourceChanged
in interface ResourceConsumer
public boolean allowAutomaticValues()
AbstractFeatureStoreProvider
allowAutomaticValues
in interface FeatureStoreProvider
allowAutomaticValues
in class AbstractFeatureStoreProvider
true
if supportedFeatureStoreProvider.allowAutomaticValues()
public DataServerExplorer getExplorer() throws ReadException
AbstractFeatureStoreProvider
getExplorer
in class AbstractFeatureStoreProvider
ReadException
DataStoreProvider.getExplorer()
protected void doDispose() throws BaseException
AbstractDisposable
AbstractDisposable.dispose()
method, to be
implemented by child classes.doDispose
in class AbstractFeatureStoreProvider
BaseException
AbstractDisposable.dispose()
public Object createNewOID()
FeatureStoreProvider
createNewOID
in interface FeatureStoreProvider
FeatureStoreProvider#getOIDType()}
public String compoundSelect(FeatureType type, String filter, String order, long limit, long offset) throws DataException
DataException
public long getFeatureCount() throws DataException
FeatureStoreProvider
getFeatureCount
in interface FeatureStoreProvider
DataException
public String getProviderName()
JDBCHelperUser
getProviderName
in interface JDBCHelperUser
public boolean hasGeometrySupport()
public FeatureSetProvider createSet(FeatureQuery query, FeatureType featureType) throws DataException
FeatureStoreProvider
FeatureSetProvider
. Create a new
FeatureSetProvider
that represents result of FeatureQuery
.createSet
in interface FeatureStoreProvider
query
- (never will be null)featureType
- (never will be null)DataException
public Object getSourceId()
public String getName()
public String getFullName()
public ResourceProvider getResource()
protected boolean isDirectSQLMode()