org.apache.openjpa.kernel
Class DelegatingResultList<T>

java.lang.Object
  extended by org.apache.openjpa.kernel.DelegatingResultList<T>
All Implemented Interfaces:
java.io.Serializable, java.lang.Iterable<T>, java.util.Collection<T>, java.util.List<T>, ResultList<T>, Closeable

public class DelegatingResultList<T>
extends java.lang.Object
implements ResultList<T>

Delegating result list that can also perform exception translation for use in facades.

Since:
0.4.0
Author:
Marc Prud'hommeaux
See Also:
Serialized Form

Nested Class Summary
 class DelegatingResultList.DelegatingListIterator<T>
          Delegating iterator that also performs exception translation.
 
Constructor Summary
DelegatingResultList(ResultList<T> list)
          Constructor; supply delegate.
DelegatingResultList(ResultList<T> list, RuntimeExceptionTranslator trans)
          Constructor; supply delegate and exception translator.
 
Method Summary
 void add(int index, T element)
           
 boolean add(T o)
           
 boolean addAll(java.util.Collection<? extends T> c)
           
 boolean addAll(int index, java.util.Collection<? extends T> c)
           
 void clear()
           
 void close()
          Close the list.
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
 boolean equals(java.lang.Object other)
           
 T get(int index)
           
 ResultList<T> getDelegate()
          Return the direct delegate.
 ResultList<T> getInnermostDelegate()
          Return the native delegate.
 java.lang.Object getUserObject()
          Get the opaque user object attached to this receiver.
 int hashCode()
           
 int indexOf(java.lang.Object o)
           
 boolean isClosed()
          Returns true if the list has been closed.
 boolean isEmpty()
           
 boolean isProviderOpen()
          Returns true if the provider backing this list is open.
 java.util.Iterator<T> iterator()
           
 int lastIndexOf(java.lang.Object o)
           
 java.util.ListIterator<T> listIterator()
           
 java.util.ListIterator<T> listIterator(int index)
           
 T remove(int index)
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 boolean retainAll(java.util.Collection<?> c)
           
 T set(int index, T element)
           
 void setUserObject(java.lang.Object opaque)
          Set the opaque user object to this receiver.
 int size()
           
 java.util.List<T> subList(int fromIndex, int toIndex)
           
 java.lang.Object[] toArray()
           
 java.lang.Object[] toArray(java.lang.Object[] a)
           
 java.lang.String toString()
           
protected  java.lang.RuntimeException translate(java.lang.RuntimeException re)
          Translate the OpenJPA exception.
 java.lang.Object writeReplace()
          Writes delegate, which may in turn write a normal list.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DelegatingResultList

public DelegatingResultList(ResultList<T> list)
Constructor; supply delegate.


DelegatingResultList

public DelegatingResultList(ResultList<T> list,
                            RuntimeExceptionTranslator trans)
Constructor; supply delegate and exception translator.

Method Detail

getDelegate

public ResultList<T> getDelegate()
Return the direct delegate.


getInnermostDelegate

public ResultList<T> getInnermostDelegate()
Return the native delegate.


writeReplace

public java.lang.Object writeReplace()
                              throws java.io.ObjectStreamException
Writes delegate, which may in turn write a normal list.

Throws:
java.io.ObjectStreamException

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection<T>
Specified by:
hashCode in interface java.util.List<T>
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object other)
Specified by:
equals in interface java.util.Collection<T>
Specified by:
equals in interface java.util.List<T>
Overrides:
equals in class java.lang.Object

translate

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


isProviderOpen

public boolean isProviderOpen()
Description copied from interface: ResultList
Returns true if the provider backing this list is open.

Specified by:
isProviderOpen in interface ResultList<T>

getUserObject

public java.lang.Object getUserObject()
Description copied from interface: ResultList
Get the opaque user object attached to this receiver.

Specified by:
getUserObject in interface ResultList<T>

setUserObject

public void setUserObject(java.lang.Object opaque)
Description copied from interface: ResultList
Set the opaque user object to this receiver.

Specified by:
setUserObject in interface ResultList<T>

close

public void close()
Description copied from interface: ResultList
Close the list.

Specified by:
close in interface ResultList<T>
Specified by:
close in interface Closeable

isClosed

public boolean isClosed()
Description copied from interface: ResultList
Returns true if the list has been closed.

Specified by:
isClosed in interface ResultList<T>

size

public int size()
Specified by:
size in interface java.util.Collection<T>
Specified by:
size in interface java.util.List<T>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>
Specified by:
isEmpty in interface java.util.List<T>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<T>
Specified by:
contains in interface java.util.List<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>
Specified by:
iterator in interface java.util.List<T>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.List<T>

toArray

public java.lang.Object[] toArray(java.lang.Object[] a)
Specified by:
toArray in interface java.util.Collection<T>
Specified by:
toArray in interface java.util.List<T>

add

public boolean add(T o)
Specified by:
add in interface java.util.Collection<T>
Specified by:
add in interface java.util.List<T>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T>
Specified by:
remove in interface java.util.List<T>

containsAll

public boolean containsAll(java.util.Collection<?> c)
Specified by:
containsAll in interface java.util.Collection<T>
Specified by:
containsAll in interface java.util.List<T>

addAll

public boolean addAll(java.util.Collection<? extends T> c)
Specified by:
addAll in interface java.util.Collection<T>
Specified by:
addAll in interface java.util.List<T>

addAll

public boolean addAll(int index,
                      java.util.Collection<? extends T> c)
Specified by:
addAll in interface java.util.List<T>

removeAll

public boolean removeAll(java.util.Collection<?> c)
Specified by:
removeAll in interface java.util.Collection<T>
Specified by:
removeAll in interface java.util.List<T>

retainAll

public boolean retainAll(java.util.Collection<?> c)
Specified by:
retainAll in interface java.util.Collection<T>
Specified by:
retainAll in interface java.util.List<T>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<T>
Specified by:
clear in interface java.util.List<T>

get

public T get(int index)
Specified by:
get in interface java.util.List<T>

set

public T set(int index,
             T element)
Specified by:
set in interface java.util.List<T>

add

public void add(int index,
                T element)
Specified by:
add in interface java.util.List<T>

remove

public T remove(int index)
Specified by:
remove in interface java.util.List<T>

indexOf

public int indexOf(java.lang.Object o)
Specified by:
indexOf in interface java.util.List<T>

lastIndexOf

public int lastIndexOf(java.lang.Object o)
Specified by:
lastIndexOf in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator()
Specified by:
listIterator in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator(int index)
Specified by:
listIterator in interface java.util.List<T>

subList

public java.util.List<T> subList(int fromIndex,
                                 int toIndex)
Specified by:
subList in interface java.util.List<T>

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object