org.geotools.data.oracle
Class OracleDataStoreFactory

java.lang.Object
  extended by org.geotools.data.oracle.OracleDataStoreFactory
All Implemented Interfaces:
DataAccessFactory, DataStoreFactorySpi, Factory

public class OracleDataStoreFactory
extends java.lang.Object
implements DataStoreFactorySpi

Creates an OracleDataStore based on the correct params.

This factory should be registered in the META-INF/ folder, under services/ in the DataStoreFactorySpi file.

Author:
Jody Garnett, Refractions Research, Sean Geoghegan, Defence Science and Technology Organisation

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.geotools.data.DataAccessFactory
DataAccessFactory.Param
 
Field Summary
static DataAccessFactory.Param MAXCONN
           
static DataAccessFactory.Param MINCONN
           
static DataAccessFactory.Param VALIDATECONN
           
 
Constructor Summary
OracleDataStoreFactory()
          Creates a new instance of OracleDataStoreFactory
 
Method Summary
 boolean canProcess(java.util.Map params)
          Determines whether DataStore created by this factory can process the parameters.
 DataStore createDataStore(java.util.Map params)
          Construct a postgis data store using the params.
 DataStore createNewDataStore(java.util.Map params)
          Oracle cannot create a new database.
static ManageableDataSource getDefaultDataSource(java.lang.String host, java.lang.String user, java.lang.String passwd, int port, java.lang.String instance, int maxActive, int minIdle, boolean validate)
           
 java.lang.String getDescription()
          Describe the nature of the datastore constructed by this factory.
 java.lang.String getDisplayName()
          Name suitable for display to end user.
 java.util.Map getImplementationHints()
          Returns the implementation hints.
 DataAccessFactory.Param[] getParametersInfo()
          Describe parameters.
 boolean isAvailable()
          Returns whether the OracleDataStoreFactory would actually be able to generate a DataStore.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAXCONN

public static final DataAccessFactory.Param MAXCONN

MINCONN

public static final DataAccessFactory.Param MINCONN

VALIDATECONN

public static final DataAccessFactory.Param VALIDATECONN
Constructor Detail

OracleDataStoreFactory

public OracleDataStoreFactory()
Creates a new instance of OracleDataStoreFactory

Method Detail

canProcess

public boolean canProcess(java.util.Map params)
Determines whether DataStore created by this factory can process the parameters.

Required Parameters are:

There are no defaults since each parameter must be explicitly defined by the user, or another DataSourceFactorySpi should be used. This behaviour is defined in the DataStoreFactorySpi contract.

Specified by:
canProcess in interface DataAccessFactory
Parameters:
params - The parameter to check.
Returns:
True if all the required parameters are supplied.

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 DataAccessFactory
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 postgis, 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:
DataSourceException - Thrown if there were any problems creating or connecting the datasource.
java.io.IOException - if there were any problems setting up (creating or connecting) the datasource.

getDefaultDataSource

public static ManageableDataSource getDefaultDataSource(java.lang.String host,
                                                        java.lang.String user,
                                                        java.lang.String passwd,
                                                        int port,
                                                        java.lang.String instance,
                                                        int maxActive,
                                                        int minIdle,
                                                        boolean validate)
                                                 throws DataSourceException
Throws:
DataSourceException

createNewDataStore

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

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

getDisplayName

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

A non localized display name for this data store type.

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

getDescription

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

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

isAvailable

public boolean isAvailable()
Returns whether the OracleDataStoreFactory would actually be able to generate a DataStore. Depends on whether the appropriate libraries are on the classpath. For now just checks for the presence of the JDBC driver, should probably check for SDOAPI as well.

Specified by:
isAvailable in interface DataAccessFactory
Returns:
True if the classes to make an oracle connection are present.

getParametersInfo

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

Specified by:
getParametersInfo in interface DataAccessFactory
Returns:
Param array describing the Map for createDataStore
See Also:
DataAccessFactory.getParametersInfo()

getImplementationHints

public java.util.Map getImplementationHints()
Returns the implementation hints. The default implementation returns en empty map.

Specified by:
getImplementationHints in interface Factory
Returns:
The map of hints, or an empty map if none.


Copyright © 1996-2010 Geotools. All Rights Reserved.