org.apache.openjpa.kernel
Class DelegatingBrokerFactory

java.lang.Object
  extended by org.apache.openjpa.kernel.DelegatingBrokerFactory
All Implemented Interfaces:
Serializable, BrokerFactory, Closeable

public class DelegatingBrokerFactory
extends Object
implements BrokerFactory

Delegating broker factory that can also perform exception translation for use in facades.

Since:
0.4.0
Author:
Abe White
See Also:
Serialized Form

Constructor Summary
DelegatingBrokerFactory(BrokerFactory factory)
          Constructor; supply delegate.
DelegatingBrokerFactory(BrokerFactory factory, RuntimeExceptionTranslator trans)
          Constructor; supply delegate and exception translator.
 
Method Summary
 void 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 assertOpen()
          assert that this broker is open.
 void close()
          Close the factory.
 boolean equals(Object other)
           
 OpenJPAConfiguration getConfiguration()
          Return the configuration for this factory.
 BrokerFactory getDelegate()
          Return the direct delegate.
 BrokerFactory getInnermostDelegate()
          Return the native delegate.
 Map<String,Object> getProperties()
          Return properties describing this runtime.
 Set<String> getSupportedProperties()
          Return all of the supported properties as a set of keys.
 Object 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.
 Broker newBroker()
          Return a broker with default settings.
 Broker newBroker(String user, String pass, boolean managed, int connRetainMode, boolean findExisting)
          Return a broker using the given credentials and in the given transaction and connection retain mode, optionally finding existing broker in the global transaction.
 Broker 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 connectionFactories
 Object 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(RuntimeException re)
          Translate the OpenJPA exception.
 void unlock()
          Release the internal lock.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DelegatingBrokerFactory

public DelegatingBrokerFactory(BrokerFactory factory)
Constructor; supply delegate.


DelegatingBrokerFactory

public DelegatingBrokerFactory(BrokerFactory factory,
                               RuntimeExceptionTranslator trans)
Constructor; supply delegate and exception translator.

Method Detail

getDelegate

public BrokerFactory getDelegate()
Return the direct delegate.


getInnermostDelegate

public BrokerFactory getInnermostDelegate()
Return the native delegate.


hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object other)
Overrides:
equals in class Object

translate

protected RuntimeException translate(RuntimeException re)
Translate the OpenJPA exception.


getConfiguration

public OpenJPAConfiguration getConfiguration()
Description copied from interface: BrokerFactory
Return the configuration for this factory.

Specified by:
getConfiguration in interface BrokerFactory

getProperties

public Map<String,Object> getProperties()
Description copied from interface: BrokerFactory
Return properties describing this runtime.

Specified by:
getProperties in interface BrokerFactory

getSupportedProperties

public Set<String> 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 interface BrokerFactory

putUserObject

public Object putUserObject(Object key,
                            Object val)
Description copied from interface: BrokerFactory
Put the specified key-value pair into the map of user objects.

Specified by:
putUserObject in interface BrokerFactory

getUserObject

public Object getUserObject(Object key)
Description copied from interface: BrokerFactory
Get the value for the specified key from the map of user objects.

Specified by:
getUserObject in interface BrokerFactory

newBroker

public Broker newBroker()
Description copied from interface: BrokerFactory
Return a broker with default settings.

Specified by:
newBroker in interface BrokerFactory

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 interface BrokerFactory

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

Specified by:
newBroker in interface BrokerFactory
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 Broker
connRetainMode - ConnectionRetainMode
findExisting - Whether the internal pool of brokers should be used.
cfName - JTA ConnectionFactory to use
cf2Name - Non-JTA ConnectionFactory to use.
Returns:
A Broker which matches the provided criteria.

addLifecycleListener

public void addLifecycleListener(Object listener,
                                 Class[] classes)
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 interface BrokerFactory

removeLifecycleListener

public void removeLifecycleListener(Object listener)
Description copied from interface: BrokerFactory
Remove a listener for lifecycle-related events.

Specified by:
removeLifecycleListener in interface BrokerFactory

addTransactionListener

public void addTransactionListener(Object listener)
Description copied from interface: BrokerFactory
Register a listener for transaction-related events on the specified classes. It will be registered with all Brokers created from this instance moving forward.

Specified by:
addTransactionListener in interface BrokerFactory

removeTransactionListener

public void removeTransactionListener(Object listener)
Description copied from interface: BrokerFactory
Remove a listener for transaction-related events. It will no longer be registered with new Brokers created from this instance.

Specified by:
removeTransactionListener in interface BrokerFactory

close

public void close()
Description copied from interface: BrokerFactory
Close the factory.

Specified by:
close in interface BrokerFactory
Specified by:
close in interface Closeable

isClosed

public boolean isClosed()
Description copied from interface: BrokerFactory
Returns true if this broker factory is closed.

Specified by:
isClosed in interface BrokerFactory

lock

public void lock()
Description copied from interface: BrokerFactory
Synchronizes on an internal lock.

Specified by:
lock in interface BrokerFactory

unlock

public void unlock()
Description copied from interface: BrokerFactory
Release the internal lock.

Specified by:
unlock in interface BrokerFactory

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 interface BrokerFactory


Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.