SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

com.solarmetric.kodo.runtime
Class PersistenceManagerFactoryImpl

java.lang.Object
  |
  +--com.solarmetric.kodo.runtime.PersistenceManagerFactoryImpl
All Implemented Interfaces:
PersistenceManagerFactory, Serializable
Direct Known Subclasses:
JDBCPersistenceManagerFactory

public abstract class PersistenceManagerFactoryImpl
extends Object
implements PersistenceManagerFactory

Abstract implementation of the PersistenceManagerFactory that must be subclassed for a specific runtime.

See Also:
Serialized Form

Constructor Summary
PersistenceManagerFactoryImpl(Configuration config)
          Constructor.
 
Method Summary
 void addDataCache(Object key, DataCache cache)
          Add cache to this factory's map of caches
 void close()
          API extension.
(package private)  void close(PersistenceManagerImpl pm)
           
 void closeAll(boolean commit)
          API extension.
protected  void configurePersistenceManager(PersistenceManagerImpl pm)
          Configures the given PersistenceManager with the current factory option settings.
protected  PersistenceManagerImpl findPersistenceManager(String user, String pass)
          Find a pooled PersistenceManager, or return null if none.
protected  void freeze()
          Freezes the configuration of this factory.
 Configuration getConfiguration()
          Return the configuration for this factory.
 String getConnectionDriverName()
           
 Object getConnectionFactory()
           
(package private)  Object getConnectionFactory(boolean connectionFactory2)
           
 Object getConnectionFactory2()
           
 String getConnectionFactory2Name()
           
 String getConnectionFactoryName()
           
 String getConnectionPassword()
           
 String getConnectionURL()
           
 String getConnectionUserName()
           
protected  Map getDataCaches()
           
 boolean getIgnoreCache()
           
 int getMaxPool()
           
 int getMinPool()
           
 int getMsWait()
           
 boolean getMultithreaded()
           
 boolean getNontransactionalRead()
           
 boolean getNontransactionalWrite()
           
protected  PersistenceManagerImpl getOpenPersistenceManager()
          Returns any open PersistenceManagerImpl for this factory.
 boolean getOptimistic()
           
 PersistenceManager getPersistenceManager()
           
 PersistenceManager getPersistenceManager(String user, String pass)
           
 Properties getProperties()
           
 boolean getRestoreValues()
           
 boolean getRetainValues()
           
abstract  String getVersionInformation()
          Return a string describing this factory version, such as "JDBC Enterprise".
protected  void lock()
          Synchronizes on an internal lock.
protected  Object newConnectionFactory()
          Instantiate a connection factory from the current configuration.
protected  Object newConnectionFactory(boolean connectionFactory2)
          Instantiate a connection factory from the current configuration.
protected  PersistenceManagerImpl newPersistenceManager(String user, String pass, StoreManager sm)
          Return a PersistenceManager configured with the proper settings.
protected abstract  StoreManager newStoreManager()
          Return a new StoreManager for this runtime.
 void notifyRemoteCommitListeners(Set adds, Set updates, Set deletes)
          API extension.
protected  void readObject()
          Subclasses must implement the readObject method for deserialization to read their non-transient data (or use defaultReadObject) and then invoke this method, which will perform the necessary setup.
 void registerRemoteCommitListener(RemoteCommitListener listen)
          API extension.
 void removeRemoteCommitListener(RemoteCommitListener listen)
          API extension.
protected  void removeUnsupportedOptions(Collection options)
          Remove the options not supported by this runtime from the given collection.
 void setConnectionDriverName(String val)
           
 void setConnectionFactory(Object val)
           
 void setConnectionFactory2(Object val)
           
 void setConnectionFactory2Name(String val)
           
 void setConnectionFactoryName(String val)
           
 void setConnectionPassword(String val)
           
 void setConnectionURL(String val)
           
 void setConnectionUserName(String val)
           
 void setIgnoreCache(boolean val)
           
 void setMaxPool(int val)
           
 void setMinPool(int val)
           
 void setMsWait(int val)
           
 void setMultithreaded(boolean val)
           
 void setNontransactionalRead(boolean val)
           
 void setNontransactionalWrite(boolean val)
           
 void setOptimistic(boolean val)
           
 void setRestoreValues(boolean val)
           
 void setRetainValues(boolean val)
           
protected  void setup()
          Setup transient state used by this factory based on the current configuration, which will subsequenty be locked down.
protected  void setUpRemoteCommitProvider()
          Invoked by setup() to ensure that this factory's remote commit provider is configured correctly.
 Collection supportedOptions()
           
protected  void unlock()
          Releases the internal lock.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PersistenceManagerFactoryImpl

public PersistenceManagerFactoryImpl(Configuration config)
Constructor. Configuration must be provided on construction.
Method Detail

getConfiguration

public Configuration getConfiguration()
Return the configuration for this factory.

getPersistenceManager

public PersistenceManager getPersistenceManager()
Specified by:
getPersistenceManager in interface PersistenceManagerFactory

getPersistenceManager

public PersistenceManager getPersistenceManager(String user,
                                                String pass)
Specified by:
getPersistenceManager in interface PersistenceManagerFactory

getDataCaches

protected Map getDataCaches()

addDataCache

public void addDataCache(Object key,
                         DataCache cache)
Add cache to this factory's map of caches

getProperties

public Properties getProperties()
Specified by:
getProperties in interface PersistenceManagerFactory

supportedOptions

public Collection supportedOptions()
Specified by:
supportedOptions in interface PersistenceManagerFactory

getConnectionUserName

public String getConnectionUserName()
Specified by:
getConnectionUserName in interface PersistenceManagerFactory

setConnectionUserName

public void setConnectionUserName(String val)
Specified by:
setConnectionUserName in interface PersistenceManagerFactory

getConnectionPassword

public String getConnectionPassword()

setConnectionPassword

public void setConnectionPassword(String val)
Specified by:
setConnectionPassword in interface PersistenceManagerFactory

getConnectionURL

public String getConnectionURL()
Specified by:
getConnectionURL in interface PersistenceManagerFactory

setConnectionURL

public void setConnectionURL(String val)
Specified by:
setConnectionURL in interface PersistenceManagerFactory

getConnectionDriverName

public String getConnectionDriverName()
Specified by:
getConnectionDriverName in interface PersistenceManagerFactory

setConnectionDriverName

public void setConnectionDriverName(String val)
Specified by:
setConnectionDriverName in interface PersistenceManagerFactory

getConnectionFactoryName

public String getConnectionFactoryName()
Specified by:
getConnectionFactoryName in interface PersistenceManagerFactory

setConnectionFactoryName

public void setConnectionFactoryName(String val)
Specified by:
setConnectionFactoryName in interface PersistenceManagerFactory

getConnectionFactory

public Object getConnectionFactory()
Specified by:
getConnectionFactory in interface PersistenceManagerFactory

getConnectionFactory2

public Object getConnectionFactory2()
Specified by:
getConnectionFactory2 in interface PersistenceManagerFactory

getConnectionFactory

Object getConnectionFactory(boolean connectionFactory2)

setConnectionFactory

public void setConnectionFactory(Object val)
Specified by:
setConnectionFactory in interface PersistenceManagerFactory

getConnectionFactory2Name

public String getConnectionFactory2Name()
Specified by:
getConnectionFactory2Name in interface PersistenceManagerFactory

setConnectionFactory2Name

public void setConnectionFactory2Name(String val)
Specified by:
setConnectionFactory2Name in interface PersistenceManagerFactory

setConnectionFactory2

public void setConnectionFactory2(Object val)
Specified by:
setConnectionFactory2 in interface PersistenceManagerFactory

getOptimistic

public boolean getOptimistic()
Specified by:
getOptimistic in interface PersistenceManagerFactory

setOptimistic

public void setOptimistic(boolean val)
Specified by:
setOptimistic in interface PersistenceManagerFactory

getRetainValues

public boolean getRetainValues()
Specified by:
getRetainValues in interface PersistenceManagerFactory

setRetainValues

public void setRetainValues(boolean val)
Specified by:
setRetainValues in interface PersistenceManagerFactory

getRestoreValues

public boolean getRestoreValues()
Specified by:
getRestoreValues in interface PersistenceManagerFactory

setRestoreValues

public void setRestoreValues(boolean val)
Specified by:
setRestoreValues in interface PersistenceManagerFactory

getNontransactionalRead

public boolean getNontransactionalRead()
Specified by:
getNontransactionalRead in interface PersistenceManagerFactory

setNontransactionalRead

public void setNontransactionalRead(boolean val)
Specified by:
setNontransactionalRead in interface PersistenceManagerFactory

getNontransactionalWrite

public boolean getNontransactionalWrite()
Specified by:
getNontransactionalWrite in interface PersistenceManagerFactory

setNontransactionalWrite

public void setNontransactionalWrite(boolean val)
Specified by:
setNontransactionalWrite in interface PersistenceManagerFactory

getIgnoreCache

public boolean getIgnoreCache()
Specified by:
getIgnoreCache in interface PersistenceManagerFactory

setIgnoreCache

public void setIgnoreCache(boolean val)
Specified by:
setIgnoreCache in interface PersistenceManagerFactory

getMultithreaded

public boolean getMultithreaded()
Specified by:
getMultithreaded in interface PersistenceManagerFactory

setMultithreaded

public void setMultithreaded(boolean val)
Specified by:
setMultithreaded in interface PersistenceManagerFactory

getMaxPool

public int getMaxPool()
Specified by:
getMaxPool in interface PersistenceManagerFactory

setMaxPool

public void setMaxPool(int val)
Specified by:
setMaxPool in interface PersistenceManagerFactory

getMinPool

public int getMinPool()
Specified by:
getMinPool in interface PersistenceManagerFactory

setMinPool

public void setMinPool(int val)
Specified by:
setMinPool in interface PersistenceManagerFactory

getMsWait

public int getMsWait()
Specified by:
getMsWait in interface PersistenceManagerFactory

setMsWait

public void setMsWait(int val)
Specified by:
setMsWait in interface PersistenceManagerFactory

getVersionInformation

public abstract String getVersionInformation()
Return a string describing this factory version, such as "JDBC Enterprise".

newStoreManager

protected abstract StoreManager newStoreManager()
Return a new StoreManager for this runtime. Note that the instance returned here may be wrapped before being passed to the newPersistenceManager(java.lang.String, java.lang.String, com.solarmetric.kodo.runtime.StoreManager) method. However, the PersistenceManagerImpl.getStoreManager() method will return the original native store manager.

newConnectionFactory

protected final Object newConnectionFactory()
Instantiate a connection factory from the current configuration. This method returns null by default.

newConnectionFactory

protected Object newConnectionFactory(boolean connectionFactory2)
Instantiate a connection factory from the current configuration. This method returns null by default.
Parameters:
connectionFactory2 - if false, use the normal connection factory. If true, the use connection factory 2, which is the non-transactional connection factory.

findPersistenceManager

protected PersistenceManagerImpl findPersistenceManager(String user,
                                                        String pass)
Find a pooled PersistenceManager, or return null if none. Returns null by default. This method will be called before newStoreManager() so that factory subclasses implementing pooling can return a matching manager before a new StoreManager is created.

newPersistenceManager

protected PersistenceManagerImpl newPersistenceManager(String user,
                                                       String pass,
                                                       StoreManager sm)
Return a PersistenceManager configured with the proper settings. By default, this method constructs and configures a new PersistenceManagerImpl of the class set for this factory.

setup

protected void setup()
Setup transient state used by this factory based on the current configuration, which will subsequenty be locked down. This method will be called before the first PersistenceManager is requested, and will be re-called each time the factory is deserialized into a JVM that has no configuration for this data store.

readObject

protected void readObject()
Subclasses must implement the readObject method for deserialization to read their non-transient data (or use defaultReadObject) and then invoke this method, which will perform the necessary setup.

removeUnsupportedOptions

protected void removeUnsupportedOptions(Collection options)
Remove the options not supported by this runtime from the given collection. The Collection will initially consist of the following options:

configurePersistenceManager

protected void configurePersistenceManager(PersistenceManagerImpl pm)
Configures the given PersistenceManager with the current factory option settings.

lock

protected void lock()
Synchronizes on an internal lock. Make sure to call unlock() in a finally clause of the same method.

unlock

protected void unlock()
Releases the internal lock.

freeze

protected void freeze()
Freezes the configuration of this factory.

closeAll

public void closeAll(boolean commit)
API extension. Close all the PersistenceManagers that are currently open.
Parameters:
commit - if true, any active transactions will be committed, otherwise they will be rolled back.
Since:
2.5.0

getOpenPersistenceManager

protected PersistenceManagerImpl getOpenPersistenceManager()
Returns any open PersistenceManagerImpl for this factory. This is used to create a Connector object for interacting with the data store during class registration.
Returns:
an open PersistenceManagerImpl, or null if there are none
Since:
2.5.0

close

public void close()
API extension. Closes the PersistenceManagerFactory, freeing any resources needed by this factory. After this method is invoked, the factory and associated PersistenceManagers should no longer be used.

close

void close(PersistenceManagerImpl pm)

registerRemoteCommitListener

public void registerRemoteCommitListener(RemoteCommitListener listen)
API extension. Register a listener to receive commit notifications from PersistenceManagers associated with other PersistenceManagerFactories.
Since:
2.5.0

removeRemoteCommitListener

public void removeRemoteCommitListener(RemoteCommitListener listen)
API extension. Remove a RemoteCommitListener previously associated with this PersistenceManagerFactoryImpl via the registerRemoteCommitListener(com.solarmetric.kodo.runtime.event.RemoteCommitListener) method. Does nothing if listen was never registered.
Since:
2.5.0

notifyRemoteCommitListeners

public void notifyRemoteCommitListeners(Set adds,
                                        Set updates,
                                        Set deletes)
API extension. Notify all RemoteCommitListener objects associated with this factory of added, updated, and deleted OIDs.
Since:
2.5.0

setUpRemoteCommitProvider

protected void setUpRemoteCommitProvider()
Invoked by setup() to ensure that this factory's remote commit provider is configured correctly.
Since:
2.5.0

SolarMetric Kodo JDO 2.5.8 generated on January 11 2004

Copyright 2001,2002,2003 SolarMetric, Inc. All Rights Reserved.