Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.6.0)

E13403-07

oracle.javatools.db
Class DBObjectProviderFactory

java.lang.Object
  extended by oracle.javatools.db.DBObjectProviderFactory

public abstract class DBObjectProviderFactory
extends java.lang.Object

Factory class for creating DBObjectProviders. The providers are cached by an identifier which must be unique per provider. Different provider implementations will use different keys. For example the the Database support (always available) uses a String (Database.getQualifiedName()) as the identifier while the offline database (when available) will use its URL.

Since:
10.1.3

Nested Class Summary
static class DBObjectProviderFactory.Creator
          Factory creator class used to create provider instances when there isn't one already in the cache.
static interface DBObjectProviderFactory.Listener
          Listener interface that can be registered against this factory to be notified of provider create and uncache events.
 
Constructor Summary
DBObjectProviderFactory()
           
 
Method Summary
protected static java.util.Collection<DBObjectProviderFactory.Creator> factories()
          Returns an collection containing all the factories for creating a provider.
static
<T extends DBObjectProviderFactory.Creator>
T
findFactory(java.lang.Class<T> clz)
          Finds a registered factory.
static DBObjectProvider findOrCreateProvider(java.lang.Object identifier)
          Finds or creates a provider using the given identifier key.
static DBObjectProvider findProvider(java.lang.Object identifier)
          Finds a provider using the given identifier key.
static void registerFactory(DBObjectProviderFactory.Creator factory)
          Register the given DBObjectProviderFactory to be available for creating providers.
static void registerListener(DBObjectProviderFactory.Listener l)
          Registers a listener to be notified of any providers being created or removed from the cache.
static DBObjectProvider uncacheProvider(java.lang.Object identifier)
           
static void unregisterListener(DBObjectProviderFactory.Listener l)
          Unregister the specified listener.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DBObjectProviderFactory

public DBObjectProviderFactory()
Method Detail

registerListener

public static void registerListener(DBObjectProviderFactory.Listener l)
Registers a listener to be notified of any providers being created or removed from the cache.

Parameters:
l -

unregisterListener

public static void unregisterListener(DBObjectProviderFactory.Listener l)
Unregister the specified listener. If the collection of registered listeners contains the specified listen, it is removed.


registerFactory

public static void registerFactory(DBObjectProviderFactory.Creator factory)
Register the given DBObjectProviderFactory to be available for creating providers.


findFactory

public static <T extends DBObjectProviderFactory.Creator> T findFactory(java.lang.Class<T> clz)
Finds a registered factory.

Returns:
a registered factory whose class is the same as the given param.

findProvider

public static DBObjectProvider findProvider(java.lang.Object identifier)
Finds a provider using the given identifier key. Only works for providers that can be cached. Databases created without a connection name cannot be cached.


findOrCreateProvider

public static DBObjectProvider findOrCreateProvider(java.lang.Object identifier)
                                             throws DBException
Finds or creates a provider using the given identifier key.

Throws:
DBException

factories

protected static final java.util.Collection<DBObjectProviderFactory.Creator> factories()
Returns an collection containing all the factories for creating a provider. The registered factories come first, then the built-in factories.


uncacheProvider

public static final DBObjectProvider uncacheProvider(java.lang.Object identifier)

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK Reference
11g Release 1 (11.1.1.6.0)

E13403-07

Copyright © 1997, 2011, Oracle. All rights reserved.