org.geotools.data.geometryless
Class LocationsXYDataStoreFactory

java.lang.Object
  extended byorg.geotools.factory.AbstractFactory
      extended byorg.geotools.data.geometryless.LocationsXYDataStoreFactory
All Implemented Interfaces:
DataStoreFactorySpi, Factory, javax.imageio.spi.RegisterableService

public class LocationsXYDataStoreFactory
extends AbstractFactory
implements DataStoreFactorySpi

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

Version:
$Id: LocationsXYDataStoreFactory.java 17700 2006-01-22 23:30:39Z desruisseaux $
Author:
Rob Atkinson, Social Change Online, Chris Holmes, TOPP

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
LocationsXYDataStoreFactory(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.
 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
getImplementationHints, onDeregistration, onRegistration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.geotools.factory.Factory
getImplementationHints
 

Constructor Detail

LocationsXYDataStoreFactory

public LocationsXYDataStoreFactory(java.util.Map hints)
Creates a new instance of PostgisDataStoreFactory

Method Detail

canProcess

public boolean canProcess(java.util.Map params)
Checks to see if all the postgis params are there.

Should have:

Specified by:
canProcess in interface DataStoreFactorySpi
Parameters:
params - Set of parameters needed for a jdbc data store.
Returns:
true if dbtype equals locationsXy, and contains keys for host, user, passwd, and database.

createDataStore

public DataStore createDataStore(java.util.Map params)
                          throws java.io.IOException
Construct a postgis data store using the params.

Specified by:
createDataStore in interface DataStoreFactorySpi
Parameters:
params - The full set of information needed to construct a live data source. Should have dbtype equal to locationsxy, as well as host, user, passwd, database, and table.
Returns:
The created DataSource, this may be null if the required resource was not found or if insufficent parameters were given. Note that canProcess() should have returned false if the problem is to do with insuficent parameters.
Throws:
java.io.IOException - See DataSourceException
DataSourceException - Thrown if there were any problems creating or connecting the datasource.

createNewDataStore

public DataStore createNewDataStore(java.util.Map params)
                             throws java.io.IOException
The datastore cannot create a new database.

Specified by:
createNewDataStore in interface DataStoreFactorySpi
Parameters:
params -
Returns:
Throws:
java.io.IOException - See UnsupportedOperationException
java.lang.UnsupportedOperationException - Cannot create new database

getDescription

public java.lang.String getDescription()
Describe the nature of the datasource constructed by this factory.

Specified by:
getDescription in interface DataStoreFactorySpi
Returns:
A human readable description that is suitable for inclusion in a list of available datasources.

getDisplayName

public java.lang.String getDisplayName()
Description copied from interface: DataStoreFactorySpi
Name suitable for display to end user.

A non localized display name for this data store type.

Specified by:
getDisplayName in interface DataStoreFactorySpi
Returns:
A short name suitable for display in a user interface.

isAvailable

public boolean isAvailable()
Test to see if this datastore is available, if it has all the appropriate libraries to construct a datastore. This datastore just returns true for now. This method is used for gui apps, so as to not advertise data store capabilities they don't actually have.

Specified by:
isAvailable in interface DataStoreFactorySpi
Returns:
true if and only if this factory is available to create DataStores.

getParametersInfo

public DataStoreFactorySpi.Param[] getParametersInfo()
Describe parameters.

Specified by:
getParametersInfo in interface DataStoreFactorySpi
Returns:
See Also:
DataStoreFactorySpi.getParametersInfo()


Copyright © GeoTools. All Rights Reserved.