Package org.apache.openjpa.kernel
Class DelegatingBrokerFactory
java.lang.Object
org.apache.openjpa.kernel.DelegatingBrokerFactory
- All Implemented Interfaces:
Serializable
,BrokerFactory
,Closeable
Delegating broker factory that can also perform exception translation
for use in facades.
- Since:
- 0.4.0
- Author:
- Abe White
- See Also:
-
Constructor Summary
ConstructorDescriptionDelegatingBrokerFactory
(BrokerFactory factory) Constructor; supply delegate.DelegatingBrokerFactory
(BrokerFactory factory, RuntimeExceptionTranslator trans) Constructor; supply delegate and exception translator. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addLifecycleListener
(Object listener, Class[] classes) Register a listener for lifecycle-related events on the specified classes.void
addTransactionListener
(Object listener) Register a listener for transaction-related events on the specified classes.void
assert that this broker is open.void
close()
Close the factory.boolean
Return the configuration for this factory.Return the direct delegate.Return the native delegate.Return properties describing this runtime.Return all of the supported properties as a set of keys.getUserObject
(Object key) Get the value for the specified key from the map of user objects.int
hashCode()
boolean
isClosed()
Returns true if this broker factory is closed.void
lock()
Synchronizes on an internal lock.Return a broker with default settings.Return a broker using the given credentials and in the given transaction and connection retain mode, optionally finding existing broker in the global transaction.newBroker
(String user, String pass, boolean managed, int connRetainMode, boolean findExisting, String cfName, String cf2Name) Return a new broker using the supplied credentials transaction management mode connectionRetainMode connectionFactoriesvoid
This method is invoked AFTER a BrokerFactory has been instantiated.putUserObject
(Object key, Object val) Put the specified key-value pair into the map of user objects.void
removeLifecycleListener
(Object listener) Remove a listener for lifecycle-related events.void
removeTransactionListener
(Object listener) Remove a listener for transaction-related events.protected RuntimeException
Translate the OpenJPA exception.void
unlock()
Release the internal lock.
-
Constructor Details
-
DelegatingBrokerFactory
Constructor; supply delegate. -
DelegatingBrokerFactory
Constructor; supply delegate and exception translator.
-
-
Method Details
-
getDelegate
Return the direct delegate. -
getInnermostDelegate
Return the native delegate. -
hashCode
public int hashCode() -
equals
-
translate
Translate the OpenJPA exception. -
getConfiguration
Description copied from interface:BrokerFactory
Return the configuration for this factory.- Specified by:
getConfiguration
in interfaceBrokerFactory
-
getProperties
Description copied from interface:BrokerFactory
Return properties describing this runtime.- Specified by:
getProperties
in interfaceBrokerFactory
-
getSupportedProperties
Description copied from interface:BrokerFactory
Return all of the supported properties as a set of keys. If a property has multiple keys, all keys will be returned.- Specified by:
getSupportedProperties
in interfaceBrokerFactory
-
putUserObject
Description copied from interface:BrokerFactory
Put the specified key-value pair into the map of user objects.- Specified by:
putUserObject
in interfaceBrokerFactory
-
getUserObject
Description copied from interface:BrokerFactory
Get the value for the specified key from the map of user objects.- Specified by:
getUserObject
in interfaceBrokerFactory
-
newBroker
Description copied from interface:BrokerFactory
Return a broker with default settings.- Specified by:
newBroker
in interfaceBrokerFactory
-
newBroker
public Broker newBroker(String user, String pass, boolean managed, int connRetainMode, boolean findExisting) Description copied from interface:BrokerFactory
Return a broker using the given credentials and in the given transaction and connection retain mode, optionally finding existing broker in the global transaction.- Specified by:
newBroker
in interfaceBrokerFactory
-
newBroker
public Broker newBroker(String user, String pass, boolean managed, int connRetainMode, boolean findExisting, String cfName, String cf2Name) Description copied from interface:BrokerFactory
Return a new broker using the supplied- credentials
- transaction management mode
- connectionRetainMode
- connectionFactories
- Specified by:
newBroker
in interfaceBrokerFactory
- Parameters:
user
- Username to use when obtaining a connection. Will be ignored if a connection factory is obtained from JNDI.pass
- Password to use when obtaining a connection. Will be ignored if a connection factory is obtained from JNDI.managed
- Whether managed transactions will be used by this BrokerconnRetainMode
-ConnectionRetainMode
findExisting
- Whether the internal pool of brokers should be used.cfName
- JTA ConnectionFactory to usecf2Name
- Non-JTA ConnectionFactory to use.- Returns:
- A Broker which matches the provided criteria.
-
addLifecycleListener
Description copied from interface:BrokerFactory
Register a listener for lifecycle-related events on the specified classes. If the classes are null, all events will be propagated to the listener. The listener will be passed on to all new brokers.- Specified by:
addLifecycleListener
in interfaceBrokerFactory
-
removeLifecycleListener
Description copied from interface:BrokerFactory
Remove a listener for lifecycle-related events.- Specified by:
removeLifecycleListener
in interfaceBrokerFactory
-
addTransactionListener
Description copied from interface:BrokerFactory
Register a listener for transaction-related events on the specified classes. It will be registered with allBroker
s created from this instance moving forward.- Specified by:
addTransactionListener
in interfaceBrokerFactory
-
removeTransactionListener
Description copied from interface:BrokerFactory
Remove a listener for transaction-related events. It will no longer be registered with newBroker
s created from this instance.- Specified by:
removeTransactionListener
in interfaceBrokerFactory
-
close
public void close()Description copied from interface:BrokerFactory
Close the factory.- Specified by:
close
in interfaceBrokerFactory
- Specified by:
close
in interfaceCloseable
-
isClosed
public boolean isClosed()Description copied from interface:BrokerFactory
Returns true if this broker factory is closed.- Specified by:
isClosed
in interfaceBrokerFactory
-
lock
public void lock()Description copied from interface:BrokerFactory
Synchronizes on an internal lock.- Specified by:
lock
in interfaceBrokerFactory
-
unlock
public void unlock()Description copied from interface:BrokerFactory
Release the internal lock.- Specified by:
unlock
in interfaceBrokerFactory
-
assertOpen
public void assertOpen()Description copied from interface:BrokerFactory
assert that this broker is open. If the broker has been closed an IllegalStateException will be thrown with information on when the broker was closed.- Specified by:
assertOpen
in interfaceBrokerFactory
-
postCreationCallback
public void postCreationCallback()Description copied from interface:BrokerFactory
This method is invoked AFTER a BrokerFactory has been instantiated.- Specified by:
postCreationCallback
in interfaceBrokerFactory
-