Class DelegatingExtent<T>

  • All Implemented Interfaces:
    Extent<T>

    public class DelegatingExtent<T>
    extends java.lang.Object
    implements Extent<T>
    Delegating extent that also can perform exception translation for use in facades.
    Since:
    0.4.0
    Author:
    Abe White
    • Constructor Detail

      • DelegatingExtent

        public DelegatingExtent​(Extent<T> extent)
        Constructor; supply delegate.
    • Method Detail

      • getDelegate

        public Extent<T> getDelegate()
        Return the direct delegate.
      • getInnermostDelegate

        public Extent<T> 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.
      • getElementType

        public java.lang.Class<T> getElementType()
        Description copied from interface: Extent
        The class of extent elements.
        Specified by:
        getElementType in interface Extent<T>
      • hasSubclasses

        public boolean hasSubclasses()
        Description copied from interface: Extent
        Whether the extent includes subclasses.
        Specified by:
        hasSubclasses in interface Extent<T>
      • getBroker

        public Broker getBroker()
        Description copied from interface: Extent
        The broker that generated the extent.
        Specified by:
        getBroker in interface Extent<T>
      • getIgnoreChanges

        public boolean getIgnoreChanges()
        Description copied from interface: Extent
        Whether this extent will ignore changes made in the current transaction.
        Specified by:
        getIgnoreChanges in interface Extent<T>
      • setIgnoreChanges

        public void setIgnoreChanges​(boolean ignoreCache)
        Description copied from interface: Extent
        Whether this extent will ignore changes made in the current transaction.
        Specified by:
        setIgnoreChanges in interface Extent<T>
      • list

        public java.util.List<T> list()
        Description copied from interface: Extent
        Returns a list of all objects represented by this extent. This method creates a List by traversing the entire iterator returned by a call to Extent.iterator(). This means that Collection.size() will work correctly, but if the extent represents a large data set, this method may be quite slow and may consume quite a bit of memory.
        Specified by:
        list in interface Extent<T>
      • iterator

        public java.util.Iterator<T> iterator()
        Description copied from interface: Extent
        Return an iterator over the extent members.
        Specified by:
        iterator in interface Extent<T>
      • closeAll

        public void closeAll()
        Description copied from interface: Extent
        Close all open iterators.
        Specified by:
        closeAll in interface Extent<T>
      • lock

        public void lock()
        Description copied from interface: Extent
        Synchronizes on an internal lock.
        Specified by:
        lock in interface Extent<T>
      • unlock

        public void unlock()
        Description copied from interface: Extent
        Release the internal lock.
        Specified by:
        unlock in interface Extent<T>