Class DelegatingBrokerFactory

  • All Implemented Interfaces:
    java.io.Serializable, BrokerFactory, Closeable

    public class DelegatingBrokerFactory
    extends java.lang.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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addLifecycleListener​(java.lang.Object listener, java.lang.Class[] classes)
      Register a listener for lifecycle-related events on the specified classes.
      void addTransactionListener​(java.lang.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​(java.lang.Object other)  
      OpenJPAConfiguration getConfiguration()
      Return the configuration for this factory.
      BrokerFactory getDelegate()
      Return the direct delegate.
      BrokerFactory getInnermostDelegate()
      Return the native delegate.
      java.util.Map<java.lang.String,​java.lang.Object> getProperties()
      Return properties describing this runtime.
      java.util.Set<java.lang.String> getSupportedProperties()
      Return all of the supported properties as a set of keys.
      java.lang.Object getUserObject​(java.lang.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​(java.lang.String user, java.lang.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​(java.lang.String user, java.lang.String pass, boolean managed, int connRetainMode, boolean findExisting, java.lang.String cfName, java.lang.String cf2Name)
      Return a new broker using the supplied credentials transaction management mode connectionRetainMode connectionFactories
      void postCreationCallback()
      This method is invoked AFTER a BrokerFactory has been instantiated.
      java.lang.Object putUserObject​(java.lang.Object key, java.lang.Object val)
      Put the specified key-value pair into the map of user objects.
      void removeLifecycleListener​(java.lang.Object listener)
      Remove a listener for lifecycle-related events.
      void removeTransactionListener​(java.lang.Object listener)
      Remove a listener for transaction-related events.
      protected java.lang.RuntimeException translate​(java.lang.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.
    • 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 java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • translate

        protected java.lang.RuntimeException translate​(java.lang.RuntimeException re)
        Translate the OpenJPA exception.
      • getProperties

        public java.util.Map<java.lang.String,​java.lang.Object> getProperties()
        Description copied from interface: BrokerFactory
        Return properties describing this runtime.
        Specified by:
        getProperties in interface BrokerFactory
      • getSupportedProperties

        public java.util.Set<java.lang.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 java.lang.Object putUserObject​(java.lang.Object key,
                                              java.lang.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 java.lang.Object getUserObject​(java.lang.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​(java.lang.String user,
                                java.lang.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​(java.lang.String user,
                                java.lang.String pass,
                                boolean managed,
                                int connRetainMode,
                                boolean findExisting,
                                java.lang.String cfName,
                                java.lang.String cf2Name)
        Description copied from interface: BrokerFactory
        Return a new broker using the supplied
        • credentials
        • transaction management mode
        • connectionRetainMode
        • connectionFactories
        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​(java.lang.Object listener,
                                         java.lang.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​(java.lang.Object listener)
        Description copied from interface: BrokerFactory
        Remove a listener for lifecycle-related events.
        Specified by:
        removeLifecycleListener in interface BrokerFactory
      • addTransactionListener

        public void addTransactionListener​(java.lang.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​(java.lang.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
      • 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
      • 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
      • postCreationCallback

        public void postCreationCallback()
        Description copied from interface: BrokerFactory
        This method is invoked AFTER a BrokerFactory has been instantiated.
        Specified by:
        postCreationCallback in interface BrokerFactory