javax.jdo
Interface PersistenceManagerFactory

All Superinterfaces:
java.io.Serializable
All Known Subinterfaces:
JDOEntityManagerFactory

public interface PersistenceManagerFactory
extends java.io.Serializable

The PersistenceManagerFactory is the interface to use to obtain PersistenceManager instances. All PersistenceManager instances obtained from the same PersistenceManagerFactory will have the same default properties.

PersistenceManagerFactory instances may be configured and serialized for later use. They may be stored via JNDI and looked up and used later. Any properties configured will be saved and restored.

Once the first PersistenceManager is obtained from the PersistenceManagerFactory, the factory can no longer be configured.

If the ConnectionFactory property is set (non-null) then all other Connection properties including ConnectionFactoryName are ignored; otherwise, if ConnectionFactoryName is set (non-null) then all other Connection properties are ignored. Similarly, if the ConnectionFactory2 property is set (non-null) then ConnectionFactory2Name is ignored.

Operational state (PersistenceManager pooling, connection pooling, operational parameters) must not be serialized.

Version:
2.2

Method Summary
 void addFetchGroups(FetchGroup... groups)
          Add the FetchGroups to the set of active fetch groups.
 void addInstanceLifecycleListener(InstanceLifecycleListener listener, java.lang.Class[] classes)
          Add the parameter listener to the list of instance lifecycle event listeners set as the initial listeners for each PersistenceManager created by this PersistenceManagerFactory.
 void close()
          Close this PersistenceManagerFactory.
 java.lang.String getConnectionDriverName()
          Get the driver name for the data store connection.
 java.lang.Object getConnectionFactory()
          Get the data store connection factory.
 java.lang.Object getConnectionFactory2()
          Get the second data store connection factory.
 java.lang.String getConnectionFactory2Name()
          Get the name for the second data store connection factory.
 java.lang.String getConnectionFactoryName()
          Get the name for the data store connection factory.
 java.lang.String getConnectionURL()
          Get the URL for the data store connection.
 java.lang.String getConnectionUserName()
          Get the user name for the data store connection.
 boolean getCopyOnAttach()
          Gets the default copyOnAttach setting for all PersistenceManager instances obtained from this factory.
 DataStoreCache getDataStoreCache()
          Return the DataStoreCache that this factory uses for controlling a second-level cache.
 boolean getDetachAllOnCommit()
          Gets the detachAllOnCommit setting.
 FetchGroup getFetchGroup(java.lang.Class cls, java.lang.String name)
          Create an unscoped, modifiable FetchGroup for the Class and name.
 java.util.Set getFetchGroups()
          Get a modifiable Set containing a mutable copy of all currently active (in scope) fetch groups.
 boolean getIgnoreCache()
          Get the default IgnoreCache setting for all PersistenceManager instances obtained from this factory.
 java.lang.String getMapping()
          Get the Mapping setting for this factory.
 ComponentMetadata getMetadata(java.lang.String className)
          Method to return the metadata object for the specified class/interface, if there is metadata defined for that class/interface.
 boolean getMultithreaded()
          Get the default Multithreaded setting for all PersistenceManager instances obtained from this factory.
 java.lang.String getName()
          Gets the name of this PersistenceManagerFactory.
 boolean getNontransactionalRead()
          Get the default NontransactionalRead setting for all PersistenceManager instances obtained from this factory.
 boolean getNontransactionalWrite()
          Get the default NontransactionalWrite setting for all PersistenceManager instances obtained from this factory.
 boolean getOptimistic()
          Get the default Optimistic setting for all PersistenceManager instances obtained from this factory.
 PersistenceManager getPersistenceManager()
          Get an instance of PersistenceManager from this factory.
 PersistenceManager getPersistenceManager(java.lang.String userid, java.lang.String password)
          Get an instance of PersistenceManager from this factory.
 PersistenceManager getPersistenceManagerProxy()
          Get a thread-safe instance of a proxy that dynamically binds on each method call to an instance of PersistenceManager.
 java.lang.String getPersistenceUnitName()
          Gets the PersistenceUnitName for this PersistenceManagerFactory.
 java.util.Properties getProperties()
          Return non-configurable properties of this PersistenceManagerFactory.
 java.lang.Integer getQueryTimeoutMillis()
          Get the default query timeout setting for all PersistenceManager instances obtained from this factory.
 boolean getReadOnly()
          Gets the value for read-only for this PMF.
 boolean getRestoreValues()
          Get the default value for the RestoreValues property.
 boolean getRetainValues()
          Get the default RetainValues setting for all PersistenceManager instances obtained from this factory.
 java.lang.String getServerTimeZoneID()
          Gets the TimeZone ID of the server associated with this PersistenceManagerFactory.
 java.lang.String getTransactionIsolationLevel()
          Get the value for transaction isolation level for this PMF.
 java.lang.String getTransactionType()
          Gets the TransactionType for this PersistenceManagerFactory.
 boolean isClosed()
          A PersistenceManagerFactory instance can be used until it is closed.
 JDOMetadata newMetadata()
          Method to return a new metadata object that can be subsequently modified and registered with the persistence process using the method registerMetadata(javax.jdo.metadata.JDOMetadata).
 void registerMetadata(JDOMetadata metadata)
          Method to register metadata with the persistence process managed by this PersistenceManagerFactory.
 void removeAllFetchGroups()
          Remove all FetchGroups from the set of active FetchGroups.
 void removeFetchGroups(FetchGroup... groups)
          Remove the FetchGroups from the set of active FetchGroups.
 void removeInstanceLifecycleListener(InstanceLifecycleListener listener)
          Remove the parameter listener instance from the list of instance lifecycle event listeners set as the initial listeners for each PersistenceManager created by this PersistenceManagerFactory.
 void setConnectionDriverName(java.lang.String driverName)
          Set the driver name for the data store connection.
 void setConnectionFactory(java.lang.Object connectionFactory)
          Set the data store connection factory.
 void setConnectionFactory2(java.lang.Object connectionFactory)
          Set the second data store connection factory.
 void setConnectionFactory2Name(java.lang.String connectionFactoryName)
          Set the name for the second data store connection factory.
 void setConnectionFactoryName(java.lang.String connectionFactoryName)
          Set the name for the data store connection factory.
 void setConnectionPassword(java.lang.String password)
          Set the password for the data store connection.
 void setConnectionURL(java.lang.String url)
          Set the URL for the data store connection.
 void setConnectionUserName(java.lang.String userName)
          Set the user name for the data store connection.
 void setCopyOnAttach(boolean flag)
          Sets the default copyOnAttach setting for all PersistenceManager instances obtained from this factory.
 void setDetachAllOnCommit(boolean flag)
          Sets the default detachAllOnCommit setting for all PersistenceManager instances obtained from this factory.
 void setIgnoreCache(boolean flag)
          Set the default IgnoreCache setting for all PersistenceManager instances obtained from this factory.
 void setMapping(java.lang.String mapping)
          Set the Mapping setting for this factory.
 void setMultithreaded(boolean flag)
          Set the default Multithreaded setting for all PersistenceManager instances obtained from this factory.
 void setName(java.lang.String name)
          Sets the name of this PersistenceManagerFactory.
 void setNontransactionalRead(boolean flag)
          Set the default NontransactionalRead setting for all PersistenceManager instances obtained from this factory.
 void setNontransactionalWrite(boolean flag)
          Set the default NontransactionalWrite setting for all PersistenceManager instances obtained from this factory.
 void setOptimistic(boolean flag)
          Set the default Optimistic setting for all PersistenceManager instances obtained from this factory.
 void setPersistenceUnitName(java.lang.String name)
          Sets the PersistenceUnitName for this PersistenceManagerFactory.
 void setQueryTimeoutMillis(java.lang.Integer interval)
          Set the default query timeout setting for all PersistenceManager instances obtained from this factory.
 void setReadOnly(boolean flag)
          Sets the value for whether the datastore is to be considered read-only.
 void setRestoreValues(boolean restoreValues)
          Set the default value for the RestoreValues property.
 void setRetainValues(boolean flag)
          Set the default RetainValues setting for all PersistenceManager instances obtained from this factory.
 void setServerTimeZoneID(java.lang.String timezoneid)
          Sets the TimeZone ID of the server associated with this PersistenceManagerFactory.
 void setTransactionIsolationLevel(java.lang.String level)
          Set the value for transaction isolation level for this PMF.
 void setTransactionType(java.lang.String name)
          Sets the TransactionType for this PersistenceManagerFactory.
 java.util.Collection<java.lang.String> supportedOptions()
          The application can determine from the results of this method which optional features, and which query languages are supported by the JDO implementation.
 

Method Detail

close

void close()
Close this PersistenceManagerFactory. Check for JDOPermission("closePersistenceManagerFactory") and if not authorized, throw SecurityException.

If the authorization check succeeds, check to see that all PersistenceManager instances obtained from this PersistenceManagerFactory have no active transactions. If any PersistenceManager instances have an active transaction, throw a JDOUserException, with one nested JDOUserException for each PersistenceManager with an active Transaction.

If there are no active transactions, then close all PersistenceManager instances obtained from this PersistenceManagerFactory, mark this PersistenceManagerFactory as closed, disallow getPersistenceManager methods, and allow all other get methods. If a set method or getPersistenceManager method is called after close, then JDOUserException is thrown.

Since:
1.0.1

isClosed

boolean isClosed()
A PersistenceManagerFactory instance can be used until it is closed.

Returns:
true if this PersistenceManagerFactory has been closed.
Since:
2.0
See Also:
close()

getPersistenceManager

PersistenceManager getPersistenceManager()
Get an instance of PersistenceManager from this factory. The instance has default values for options.

After the first use of getPersistenceManager, no "set" methods will succeed.

Returns:
a PersistenceManager instance with default options.

getPersistenceManagerProxy

PersistenceManager getPersistenceManagerProxy()
Get a thread-safe instance of a proxy that dynamically binds on each method call to an instance of PersistenceManager.

When used with a PersistenceManagerFactory that uses TransactionType JTA, the proxy can be used in a server to dynamically bind to an instance from this factory associated with the thread's current transaction. In this case, the close method is ignored, as the PersistenceManager is automatically closed when the transaction completes.

When used with a PersistenceManagerFactory that uses TransactionType RESOURCE_LOCAL, the proxy uses an inheritable ThreadLocal to bind to an instance of PersistenceManager associated with the thread. In this case, the close method executed on the proxy closes the PersistenceManager and then clears the ThreadLocal. Use of this method does not affect the configurability of the PersistenceManagerFactory.

Returns:
a PersistenceManager proxy.
Since:
2.1

getPersistenceManager

PersistenceManager getPersistenceManager(java.lang.String userid,
                                         java.lang.String password)
Get an instance of PersistenceManager from this factory. The instance has default values for options. The parameters userid and password are used when obtaining datastore connections from the connection pool.

After the first use of getPersistenceManager, no "set" methods will succeed.

Parameters:
userid - the userid for the connection
password - the password for the connection
Returns:
a PersistenceManager instance with default options.

setConnectionUserName

void setConnectionUserName(java.lang.String userName)
Set the user name for the data store connection.

Parameters:
userName - the user name for the data store connection.

getConnectionUserName

java.lang.String getConnectionUserName()
Get the user name for the data store connection.

Returns:
the user name for the data store connection.

setConnectionPassword

void setConnectionPassword(java.lang.String password)
Set the password for the data store connection.

Parameters:
password - the password for the data store connection.

setConnectionURL

void setConnectionURL(java.lang.String url)
Set the URL for the data store connection.

Parameters:
url - the URL for the data store connection.

getConnectionURL

java.lang.String getConnectionURL()
Get the URL for the data store connection.

Returns:
the URL for the data store connection.

setConnectionDriverName

void setConnectionDriverName(java.lang.String driverName)
Set the driver name for the data store connection.

Parameters:
driverName - the driver name for the data store connection.

getConnectionDriverName

java.lang.String getConnectionDriverName()
Get the driver name for the data store connection.

Returns:
the driver name for the data store connection.

setConnectionFactoryName

void setConnectionFactoryName(java.lang.String connectionFactoryName)
Set the name for the data store connection factory.

Parameters:
connectionFactoryName - the name of the data store connection factory.

getConnectionFactoryName

java.lang.String getConnectionFactoryName()
Get the name for the data store connection factory.

Returns:
the name of the data store connection factory.

setConnectionFactory

void setConnectionFactory(java.lang.Object connectionFactory)
Set the data store connection factory. JDO implementations will support specific connection factories. The connection factory interfaces are not part of the JDO specification.

Parameters:
connectionFactory - the data store connection factory.

getConnectionFactory

java.lang.Object getConnectionFactory()
Get the data store connection factory.

Returns:
the data store connection factory.

setConnectionFactory2Name

void setConnectionFactory2Name(java.lang.String connectionFactoryName)
Set the name for the second data store connection factory. This is needed for managed environments to get nontransactional connections for optimistic transactions.

Parameters:
connectionFactoryName - the name of the data store connection factory.

getConnectionFactory2Name

java.lang.String getConnectionFactory2Name()
Get the name for the second data store connection factory. This is needed for managed environments to get nontransactional connections for optimistic transactions.

Returns:
the name of the data store connection factory.

setConnectionFactory2

void setConnectionFactory2(java.lang.Object connectionFactory)
Set the second data store connection factory. This is needed for managed environments to get nontransactional connections for optimistic transactions. JDO implementations will support specific connection factories. The connection factory interfaces are not part of the JDO specification.

Parameters:
connectionFactory - the data store connection factory.

getConnectionFactory2

java.lang.Object getConnectionFactory2()
Get the second data store connection factory. This is needed for managed environments to get nontransactional connections for optimistic transactions.

Returns:
the data store connection factory.

setMultithreaded

void setMultithreaded(boolean flag)
Set the default Multithreaded setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default Multithreaded setting.

getMultithreaded

boolean getMultithreaded()
Get the default Multithreaded setting for all PersistenceManager instances obtained from this factory.

Returns:
the default Multithreaded setting.

setMapping

void setMapping(java.lang.String mapping)
Set the Mapping setting for this factory. This is used to find the object-datastore mapping file(s).

Parameters:
mapping - the Mapping setting.

getMapping

java.lang.String getMapping()
Get the Mapping setting for this factory. This is used to find the object-datastore mapping file(s).

Returns:
the Mapping setting.

setOptimistic

void setOptimistic(boolean flag)
Set the default Optimistic setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default Optimistic setting.

getOptimistic

boolean getOptimistic()
Get the default Optimistic setting for all PersistenceManager instances obtained from this factory.

Returns:
the default Optimistic setting.

setRetainValues

void setRetainValues(boolean flag)
Set the default RetainValues setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default RetainValues setting.

getRetainValues

boolean getRetainValues()
Get the default RetainValues setting for all PersistenceManager instances obtained from this factory.

Returns:
the default RetainValues setting.

setRestoreValues

void setRestoreValues(boolean restoreValues)
Set the default value for the RestoreValues property. If true, at rollback, fields of newly persistent instances are restored to their values as of the beginning of the transaction, and the instances revert to transient. Additionally, fields of modified instances of primitive types and immutable reference types are restored to their values as of the beginning of the transaction.

If false, at rollback, the values of fields of newly persistent instances are unchanged and the instances revert to transient. Additionally, dirty instances transition to hollow. If an implementation does not support this option, a JDOUnsupportedOptionException is thrown.

Parameters:
restoreValues - the value of the restoreValues property

getRestoreValues

boolean getRestoreValues()
Get the default value for the RestoreValues property.

Returns:
the value of the restoreValues property

setNontransactionalRead

void setNontransactionalRead(boolean flag)
Set the default NontransactionalRead setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default NontransactionalRead setting.

getNontransactionalRead

boolean getNontransactionalRead()
Get the default NontransactionalRead setting for all PersistenceManager instances obtained from this factory.

Returns:
the default NontransactionalRead setting.

setNontransactionalWrite

void setNontransactionalWrite(boolean flag)
Set the default NontransactionalWrite setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default NontransactionalWrite setting.

getNontransactionalWrite

boolean getNontransactionalWrite()
Get the default NontransactionalWrite setting for all PersistenceManager instances obtained from this factory.

Returns:
the default NontransactionalWrite setting.

setIgnoreCache

void setIgnoreCache(boolean flag)
Set the default IgnoreCache setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default IgnoreCache setting.

getIgnoreCache

boolean getIgnoreCache()
Get the default IgnoreCache setting for all PersistenceManager instances obtained from this factory.

Returns:
the default IngoreCache setting.

getDetachAllOnCommit

boolean getDetachAllOnCommit()
Gets the detachAllOnCommit setting.

Returns:
the default detachAllOnCommit setting.
Since:
2.0
See Also:
setDetachAllOnCommit(boolean)

setDetachAllOnCommit

void setDetachAllOnCommit(boolean flag)
Sets the default detachAllOnCommit setting for all PersistenceManager instances obtained from this factory.

Parameters:
flag - the default DetachAllOnCommit setting
Since:
2.0
See Also:
getDetachAllOnCommit()

getCopyOnAttach

boolean getCopyOnAttach()
Gets the default copyOnAttach setting for all PersistenceManager instances obtained from this factory.

Returns:
the copyOnAttach setting.
Since:
2.1
See Also:
setCopyOnAttach(boolean)

setCopyOnAttach

void setCopyOnAttach(boolean flag)
Sets the default copyOnAttach setting for all PersistenceManager instances obtained from this factory.

CopyOnAttach set to true specifies that during makePersistent, copies are made of detached parameter instances. With this flag set to false, detached parameter instances are attached directly and change their state from detached-clean to persistent-clean or from detached-dirty to persistent-dirty.

Since:
2.1
See Also:
getCopyOnAttach()

setName

void setName(java.lang.String name)
Sets the name of this PersistenceManagerFactory.

Parameters:
name - the name of this PMF
Since:
2.1

getName

java.lang.String getName()
Gets the name of this PersistenceManagerFactory.

Returns:
the name of this PMF
Since:
2.1

setPersistenceUnitName

void setPersistenceUnitName(java.lang.String name)
Sets the PersistenceUnitName for this PersistenceManagerFactory. This has the same semantics as the same-named property in JSR-220 PersistenceUnitInfo.

Parameters:
name - the PersistenceUnitName
Since:
2.1
See Also:
getPersistenceUnitName()

getPersistenceUnitName

java.lang.String getPersistenceUnitName()
Gets the PersistenceUnitName for this PersistenceManagerFactory.

Returns:
the PersistenceUnitName
Since:
2.1
See Also:
setPersistenceUnitName(String)

setServerTimeZoneID

void setServerTimeZoneID(java.lang.String timezoneid)
Sets the TimeZone ID of the server associated with this PersistenceManagerFactory. The parameter is a String suitable for use with TimeZone.getTimeZone(). The String must match an ID returned by TimeZone.getAvailableIDs(). If the ServerTimeZoneID is not set, or set to the null String, assume that the server has the same TimeZone ID as the client. If incorrectly set, the result of PersistenceManager.getServerDate() might be incorrect.

Parameters:
timezoneid - the TimeZone ID of the server
Throws:
JDOUserException - if the parameter does not match an ID from TimeZone.getAvailableIDs()
Since:
2.1
See Also:
getServerTimeZoneID(), TimeZone.getTimeZone(String), TimeZone.getAvailableIDs(), PersistenceManager.getServerDate()

getServerTimeZoneID

java.lang.String getServerTimeZoneID()
Gets the TimeZone ID of the server associated with this PersistenceManagerFactory. If not set, assume that the server has the same TimeZone ID as the client.

Returns:
the TimeZone of the server
Since:
2.1
See Also:
setServerTimeZoneID(String)

setTransactionType

void setTransactionType(java.lang.String name)
Sets the TransactionType for this PersistenceManagerFactory. Permitted values are "JTA" and "RESOURCE_LOCAL". This has the same semantics as the same-named property in JSR-220 EntityManagerFactory.

Parameters:
name - the TransactionType
Throws:
JDOUserException - if the parameter is not a permitted value
Since:
2.1
See Also:
getTransactionType(), Constants.JTA, Constants.RESOURCE_LOCAL

getTransactionType

java.lang.String getTransactionType()
Gets the TransactionType for this PersistenceManagerFactory.

Returns:
the TransactionType
Since:
2.1
See Also:
setTransactionType(String)

getReadOnly

boolean getReadOnly()
Gets the value for read-only for this PMF. Indicates whether the datastore is read-only or writable.

Returns:
the readOnly setting.
Since:
2.2
See Also:
setReadOnly(boolean)

setReadOnly

void setReadOnly(boolean flag)
Sets the value for whether the datastore is to be considered read-only.

ReadOnly set to false specifies that no updates can be performed to the datastore, and if updates are attempted a JDOReadOnlyException is thrown.

Since:
2.2
See Also:
getReadOnly()

getTransactionIsolationLevel

java.lang.String getTransactionIsolationLevel()
Get the value for transaction isolation level for this PMF.

Returns:
the transaction isolation level
Since:
2.2
See Also:
setTransactionIsolationLevel(String)

setTransactionIsolationLevel

void setTransactionIsolationLevel(java.lang.String level)
Set the value for transaction isolation level for this PMF. Transaction isolation levels are defined in javax.jdo.Constants. If the requested level is not available, but a higher level is available, the higher level is silently used. If the requested level is not available, and no higher level is available, then JDOUnsupportedOptionException is thrown. Standard values in order from low to high are:

Parameters:
level - the transaction isolation level
Since:
2.2
See Also:
getTransactionIsolationLevel(), Constants.TX_READ_UNCOMMITTED, Constants.TX_READ_COMMITTED, Constants.TX_REPEATABLE_READ, Constants.TX_SNAPSHOT, Constants.TX_SERIALIZABLE

setQueryTimeoutMillis

void setQueryTimeoutMillis(java.lang.Integer interval)
Set the default query timeout setting for all PersistenceManager instances obtained from this factory.

Parameters:
interval - The default timeout setting (millisecs).
Since:
2.3

getQueryTimeoutMillis

java.lang.Integer getQueryTimeoutMillis()
Get the default query timeout setting for all PersistenceManager instances obtained from this factory.

Returns:
the default query timeout setting.
Since:
2.3

getProperties

java.util.Properties getProperties()
Return non-configurable properties of this PersistenceManagerFactory. Properties with keys VendorName and VersionNumber are required. Other keys are optional.

Returns:
the non-configurable properties of this PersistenceManagerFactory.

supportedOptions

java.util.Collection<java.lang.String> supportedOptions()
The application can determine from the results of this method which optional features, and which query languages are supported by the JDO implementation.

Each supported JDO feature is represented by a String with one of the following values:

javax.jdo.option.TransientTransactional
javax.jdo.option.NontransactionalRead
javax.jdo.option.NontransactionalWrite
javax.jdo.option.RetainValues
javax.jdo.option.Optimistic
javax.jdo.option.ApplicationIdentity
javax.jdo.option.DatastoreIdentity
javax.jdo.option.NonDurableIdentity
javax.jdo.option.ArrayList
javax.jdo.option.HashMap
javax.jdo.option.Hashtable
javax.jdo.option.LinkedList
javax.jdo.option.TreeMap
javax.jdo.option.TreeSet
javax.jdo.option.Vector
javax.jdo.option.Map
javax.jdo.option.List
javax.jdo.option.Array
javax.jdo.option.NullCollection
javax.jdo.option.ChangeApplicationIdentity
javax.jdo.option.BinaryCompatibility
javax.jdo.option.GetDataStoreConnection
javax.jdo.option.UnconstrainedQueryVariables
javax.jdo.option.TransactionIsolationLevel.read-uncommitted
javax.jdo.option.TransactionIsolationLevel.read-committed
javax.jdo.option.TransactionIsolationLevel.repeatable-read
javax.jdo.option.TransactionIsolationLevel.snapshot
javax.jdo.option.TransactionIsolationLevel.serializable
javax.jdo.option.QueryCancel
javax.jdo.query.SQL
javax.jdo.query.JDOQL

The standard JDO query language is represented by a String:

javax.jdo.query.JDOQL

Returns:
the Collection of Strings representing the supported options.

getDataStoreCache

DataStoreCache getDataStoreCache()
Return the DataStoreCache that this factory uses for controlling a second-level cache. If this factory does not use a second-level cache, the returned instance does nothing. This method never returns null.

Returns:
the DataStoreCache
Since:
2.0

addInstanceLifecycleListener

void addInstanceLifecycleListener(InstanceLifecycleListener listener,
                                  java.lang.Class[] classes)
Add the parameter listener to the list of instance lifecycle event listeners set as the initial listeners for each PersistenceManager created by this PersistenceManagerFactory. The addInstanceLifecycleListener and removeInstanceLifecycleListener methods are considered to be configuration methods and can only be called when the PersistenceManagerFactory is configurable (before the first time getPersistenceManager() is called).

The classes parameter identifies all of the classes of interest. If the classes parameter is specified as null, events for all persistent classes and interfaces will be sent to the listener.

The listener will be called for each event for which it implements the corresponding InstanceLifecycleListener interface.

Parameters:
listener - the lifecycle listener
classes - the classes of interest to the listener
Since:
2.0

removeInstanceLifecycleListener

void removeInstanceLifecycleListener(InstanceLifecycleListener listener)
Remove the parameter listener instance from the list of instance lifecycle event listeners set as the initial listeners for each PersistenceManager created by this PersistenceManagerFactory. The addInstanceLifecycleListener and removeInstanceLifecycleListener methods are considered to be configuration methods and can only be called when the PersistenceManagerFactory is configurable (before the first time getPersistenceManager() is called).

Parameters:
listener - the listener instance to be removed
Since:
2.0

addFetchGroups

void addFetchGroups(FetchGroup... groups)
Add the FetchGroups to the set of active fetch groups. FetchGroups are made unmodifiable before being added. FetchGroups that match existing FetchGroups replace the corresponding FetchGroups. The replaced FetchGroups become unscoped. Match is based on identical class and equal name. The methods addFetchGroups(javax.jdo.FetchGroup...), removeFetchGroups(javax.jdo.FetchGroup...), getFetchGroups(), and removeAllFetchGroups() are internally serialized.

Parameters:
groups - an array of FetchGroups
Throws:
java.lang.SecurityException - if the caller is not authorized for JDOPermission ("manageMetadata")
Since:
2.2

removeFetchGroups

void removeFetchGroups(FetchGroup... groups)
Remove the FetchGroups from the set of active FetchGroups. Existing FetchGroups that match parameter FetchGroups are removed. Parameter FetchGroups that do not match any existing FetchGroup are ignored. Removed FetchGroups become unscoped. Match is based on identical class and equal name. The methods addFetchGroups(javax.jdo.FetchGroup...), removeFetchGroups(javax.jdo.FetchGroup...), getFetchGroups(), and removeAllFetchGroups() are internally serialized.

Parameters:
groups - an array of FetchGroups
Throws:
java.lang.SecurityException - if the caller is not authorized for JDOPermission ("manageMetadata")
Since:
2.2

removeAllFetchGroups

void removeAllFetchGroups()
Remove all FetchGroups from the set of active FetchGroups. All removed FetchGroups become unscoped. The methods addFetchGroups(javax.jdo.FetchGroup...), removeFetchGroups(javax.jdo.FetchGroup...), getFetchGroups(), and removeAllFetchGroups() are internally serialized.

Throws:
java.lang.SecurityException - if the caller is not authorized for JDOPermission ("manageMetadata")
Since:
2.2

getFetchGroup

FetchGroup getFetchGroup(java.lang.Class cls,
                         java.lang.String name)
Create an unscoped, modifiable FetchGroup for the Class and name. If a corresponding FetchGroup already exists in PersistenceManagerFactory scope, copy its definition to a new FetchGroup. If the FetchGroup does not already exist, create it with no members. The FetchGroup does not become in scope until it is added to the current set via addFetchGroups(javax.jdo.FetchGroup...).

Parameters:
cls - the class or interface for the FetchGroup
name - the name of the fetch group
Returns:
the FetchGroup
Throws:
JDOUserException - if the class is not a persistence-capable class or interface
Since:
2.2

getFetchGroups

java.util.Set getFetchGroups()
Get a modifiable Set containing a mutable copy of all currently active (in scope) fetch groups. The methods addFetchGroups(javax.jdo.FetchGroup...), removeFetchGroups(javax.jdo.FetchGroup...), getFetchGroups(), and removeAllFetchGroups() are internally serialized.

Returns:
a copy of all currently active fetch groups
Throws:
java.lang.SecurityException - if the caller is not authorized for JDOPermission ("getMetadata")
Since:
2.2

registerMetadata

void registerMetadata(JDOMetadata metadata)
Method to register metadata with the persistence process managed by this PersistenceManagerFactory. Metadata can be created using the method newMetadata(). If there is already metadata registered for a class contained in this metadata object then a JDOUserException will be thrown.

Parameters:
metadata - The Metadata to register.
Since:
2.3

newMetadata

JDOMetadata newMetadata()
Method to return a new metadata object that can be subsequently modified and registered with the persistence process using the method registerMetadata(javax.jdo.metadata.JDOMetadata).

Returns:
The metadata
Since:
2.3

getMetadata

ComponentMetadata getMetadata(java.lang.String className)
Method to return the metadata object for the specified class/interface, if there is metadata defined for that class/interface. If there is no metadata for the specified class/interface then null will be returned.

Returns:
The metadata
Since:
2.3


Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.