|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.geotools.factory.AbstractFactory org.geotools.data.geometryless.BBOXDataStoreFactory
Creates a Geometryless JDBC based on the conection params.
This factory should be registered in the META-INF/ folder, under services/ in the DataStoreFactorySpi file.
REVISIT: I believe the use of the namespace param needs to be revisited. GeoServer is going to start making use of this, as the XML namespace that the feature type should be created with. The use of namespace in this package is that of a database schema name. Though investigating futher it looks like all the dbs use it that way. So this is just a note that xml namespace and database namespace need to be reconciled. The work done in this package seems to be begging some datastore hierarchy refactoring, hopefully when we do that we can also get jdbc datastore factories in a hierarchy, instead of each just doing their own thing. -ch
Nested Class Summary |
Nested classes inherited from class org.geotools.data.DataStoreFactorySpi |
DataStoreFactorySpi.Param |
Field Summary |
Fields inherited from class org.geotools.factory.AbstractFactory |
hints, MAXIMUM_PRIORITY, MINIMUM_PRIORITY, NORMAL_PRIORITY, priority |
Constructor Summary | |
BBOXDataStoreFactory(java.util.Map hints)
Creates a new instance of PostgisDataStoreFactory. |
Method Summary | |
boolean |
canProcess(java.util.Map params)
Checks to see if all the postgis params are there. |
DataStore |
createDataStore(java.util.Map params)
Construct a postgis data store using the params. |
DataStore |
createNewDataStore(java.util.Map params)
The datastore cannot create a new database. |
java.lang.String |
getDescription()
Describe the nature of the datasource constructed by this factory. |
java.lang.String |
getDisplayName()
Name suitable for display to end user. |
java.util.Map |
getImplementationHints()
Map of hints (maybe unmodifiable) used by this factory to customize its use. |
DataStoreFactorySpi.Param[] |
getParametersInfo()
Describe parameters. |
boolean |
isAvailable()
Test to see if this datastore is available, if it has all the appropriate libraries to construct a datastore. |
Methods inherited from class org.geotools.factory.AbstractFactory |
onDeregistration, onRegistration |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public BBOXDataStoreFactory(java.util.Map hints)
Note: the map of thins is used when constructing datastore instandces, as such it needs to be passed onto the datastores so that they can make use of this information when creating content.
Method Detail |
public boolean canProcess(java.util.Map params)
Should have:
canProcess
in interface DataStoreFactorySpi
params
- Set of parameters needed for a jdbc data store.
true
if dbtype equals BBOX, and contains keys
for host, user, passwd, and database.public DataStore createDataStore(java.util.Map params) throws java.io.IOException
createDataStore
in interface DataStoreFactorySpi
params
- The full set of information needed to construct a live
data source. Should have dbtype equal to BBOX, as well as
host, user, passwd, database, and table.
java.io.IOException
- See DataSourceException
DataSourceException
- Thrown if there were any problems creating
or connecting the datasource.public DataStore createNewDataStore(java.util.Map params) throws java.io.IOException
createNewDataStore
in interface DataStoreFactorySpi
params
-
java.io.IOException
- See UnsupportedOperationException
java.lang.UnsupportedOperationException
- Cannot create new databasepublic java.lang.String getDescription()
getDescription
in interface DataStoreFactorySpi
public java.lang.String getDisplayName()
DataStoreFactorySpi
A non localized display name for this data store type.
getDisplayName
in interface DataStoreFactorySpi
public boolean isAvailable()
isAvailable
in interface DataStoreFactorySpi
public DataStoreFactorySpi.Param[] getParametersInfo()
getParametersInfo
in interface DataStoreFactorySpi
DataStoreFactorySpi.getParametersInfo()
public java.util.Map getImplementationHints()
Factory
FactoryUsingVolatileDependencies
).
The primary purpose of this method is to determine if an existing
factory instance can be reused for a set of user-supplied hints. This method is invoked by
FactoryRegistry
in order to compare this factory's hints against user's hints.
This is dependency introspection only; never
invokes this method for creating new factories.
Keys are usually static constants from the Hints
class, while values are
instances of some key-dependent class. The key set must contains
at least all hints impacting functionality. While the key set may contains all hints
supplied by the user, it is recommended to limit the set to only the hints used by this
particular factory instance. A minimal set will helps FactoryRegistry
to compares
only hints that matter and avoid the creation of unnecessary instances of this factory.
The hint values may be different than the one supplied by the user. If a user supplied a
hint as a Class
object, this method shall replace it by the actual instance used, if
possible.
Implementations of this method are usually quite simple. For example if a datum authority factory uses an ordinary datum factory, its method could be implemented as below (note that we should not check if the datum factory is null, since key with null value is the expected behaviour in this case). Example:
Map hints = new HashMap();
hints.put(Hints.DATUM_FACTORY, datumFactory);
return hints;
getImplementationHints
in interface Factory
getImplementationHints
in class AbstractFactory
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |