Package org.apache.openjpa.util.proxy
Class DelayedArrayListProxy
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- java.util.ArrayList
-
- org.apache.openjpa.util.proxy.DelayedArrayListProxy
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,java.lang.Iterable,java.util.Collection,java.util.List,java.util.RandomAccess,Proxy,DelayedProxy,ProxyCollection
public class DelayedArrayListProxy extends java.util.ArrayList implements ProxyCollection, DelayedProxy
ArrayList proxy with delay loading capability. Allows non-indexed add and remove operations to occur on an unloaded collection. Operations that require a load will trigger a load.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description DelayedArrayListProxy()DelayedArrayListProxy(int paramInt)DelayedArrayListProxy(java.util.Collection paramCollection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int paramInt, java.lang.Object paramObject)booleanadd(java.lang.Object paramObject)booleanaddAll(int paramInt, java.util.Collection paramCollection)booleanaddAll(java.util.Collection paramCollection)voidclear()java.lang.Objectclone()voidcloseBroker()Close the broker that is used to service this proxy.booleancontains(java.lang.Object object)booleancontainsAll(java.util.Collection collection)java.lang.Objectcopy(java.lang.Object paramObject)Return an unproxied copy of the given instance.booleanequals(java.lang.Object paramObject)java.lang.Objectget(int location)BrokergetBroker()Get the broker that is used to service this proxy.BrokerFactorygetBrokerFactory()ChangeTrackergetChangeTracker()Return the change tracker for this proxy, or null if none.intgetDelayedField()Returns the expected field index even if this collection was detached.OpenJPAStateManagergetDelayedOwner()Returns a state manager that can service this proxy even if the collection was detached.java.lang.ClassgetElementType()The collection element type.OpenJPAStateManagergetOwner()Return the owning object.intgetOwnerField()Return the owning field index.OpenJPAStateManagergetOwnerStateManager()Returns the state manager of the owning instance.inthashCode()intindexOf(java.lang.Object object)booleanisDelayLoad()booleanisDetached()Returns whether the proxy is detached.booleanisDirectAccess()Returns whether the caller has direct-call access to the proxied object.booleanisEmpty()java.util.Iteratoriterator()intlastIndexOf(java.lang.Object object)java.util.ListIteratorlistIterator()java.util.ListIteratorlistIterator(int paramInt)voidload()Load the proxy if it was delay-loaded.ProxyCollectionnewInstance(java.lang.Class paramClass, java.util.Comparator paramComparator, boolean paramBoolean1, boolean paramBoolean2)Create a new instance of this proxy type.java.lang.Objectremove(int paramInt)booleanremove(java.lang.Object paramObject)booleanremoveAll(java.util.Collection paramCollection)booleanretainAll(java.util.Collection paramCollection)java.lang.Objectset(int paramInt, java.lang.Object paramObject)protected voidsetChangeTracker(CollectionChangeTracker ct)voidsetDirectAccess(boolean direct)Sets whether the caller has direct-call access to the proxied object.protected voidsetElementType(java.lang.Class<?> elemType)voidsetOwner(OpenJPAStateManager paramOpenJPAStateManager, int paramInt)Reset the state of the proxy, and set the owning instance of the proxy and the name of the field it is assigned to.intsize()java.util.ListsubList(int start, int end)java.lang.Object[]toArray()java.lang.Object[]toArray(java.lang.Object[] array)java.lang.Object[]toArray(java.util.function.IntFunction generator)protected java.lang.ObjectwriteReplace()-
Methods inherited from class java.util.ArrayList
ensureCapacity, forEach, removeIf, removeRange, replaceAll, sort, spliterator, trimToSize
-
-
-
-
Method Detail
-
setOwner
public void setOwner(OpenJPAStateManager paramOpenJPAStateManager, int paramInt)
Description copied from interface:ProxyReset the state of the proxy, and set the owning instance of the proxy and the name of the field it is assigned to. Set to null to indicate that the proxy is no longer managed.
-
getDelayedField
public int getDelayedField()
Description copied from interface:DelayedProxyReturns the expected field index even if this collection was detached.- Specified by:
getDelayedFieldin interfaceDelayedProxy
-
getDelayedOwner
public OpenJPAStateManager getDelayedOwner()
Description copied from interface:DelayedProxyReturns a state manager that can service this proxy even if the collection was detached.- Specified by:
getDelayedOwnerin interfaceDelayedProxy
-
getOwner
public OpenJPAStateManager getOwner()
Description copied from interface:ProxyReturn the owning object.
-
getOwnerField
public int getOwnerField()
Description copied from interface:ProxyReturn the owning field index.- Specified by:
getOwnerFieldin interfaceProxy
-
clone
public java.lang.Object clone()
- Overrides:
clonein classjava.util.ArrayList
-
getChangeTracker
public ChangeTracker getChangeTracker()
Description copied from interface:ProxyReturn the change tracker for this proxy, or null if none.- Specified by:
getChangeTrackerin interfaceProxy
-
setChangeTracker
protected void setChangeTracker(CollectionChangeTracker ct)
-
copy
public java.lang.Object copy(java.lang.Object paramObject)
Description copied from interface:ProxyReturn an unproxied copy of the given instance. This method is used by proxy managers to create backup values for use in rollback.
-
getElementType
public java.lang.Class getElementType()
Description copied from interface:ProxyCollectionThe collection element type.- Specified by:
getElementTypein interfaceProxyCollection
-
setElementType
protected void setElementType(java.lang.Class<?> elemType)
-
newInstance
public ProxyCollection newInstance(java.lang.Class paramClass, java.util.Comparator paramComparator, boolean paramBoolean1, boolean paramBoolean2)
Description copied from interface:ProxyCollectionCreate a new instance of this proxy type.- Specified by:
newInstancein interfaceProxyCollection
-
add
public boolean add(java.lang.Object paramObject)
- Specified by:
addin interfacejava.util.Collection- Specified by:
addin interfacejava.util.List- Overrides:
addin classjava.util.ArrayList
-
add
public void add(int paramInt, java.lang.Object paramObject)- Specified by:
addin interfacejava.util.List- Overrides:
addin classjava.util.ArrayList
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection- Specified by:
clearin interfacejava.util.List- Overrides:
clearin classjava.util.ArrayList
-
addAll
public boolean addAll(int paramInt, java.util.Collection paramCollection)- Specified by:
addAllin interfacejava.util.List- Overrides:
addAllin classjava.util.ArrayList
-
addAll
public boolean addAll(java.util.Collection paramCollection)
- Specified by:
addAllin interfacejava.util.Collection- Specified by:
addAllin interfacejava.util.List- Overrides:
addAllin classjava.util.ArrayList
-
remove
public boolean remove(java.lang.Object paramObject)
- Specified by:
removein interfacejava.util.Collection- Specified by:
removein interfacejava.util.List- Overrides:
removein classjava.util.ArrayList
-
remove
public java.lang.Object remove(int paramInt)
- Specified by:
removein interfacejava.util.List- Overrides:
removein classjava.util.ArrayList
-
set
public java.lang.Object set(int paramInt, java.lang.Object paramObject)- Specified by:
setin interfacejava.util.List- Overrides:
setin classjava.util.ArrayList
-
iterator
public java.util.Iterator iterator()
- Specified by:
iteratorin interfacejava.util.Collection- Specified by:
iteratorin interfacejava.lang.Iterable- Specified by:
iteratorin interfacejava.util.List- Overrides:
iteratorin classjava.util.ArrayList
-
listIterator
public java.util.ListIterator listIterator(int paramInt)
- Specified by:
listIteratorin interfacejava.util.List- Overrides:
listIteratorin classjava.util.ArrayList
-
listIterator
public java.util.ListIterator listIterator()
- Specified by:
listIteratorin interfacejava.util.List- Overrides:
listIteratorin classjava.util.ArrayList
-
removeAll
public boolean removeAll(java.util.Collection paramCollection)
- Specified by:
removeAllin interfacejava.util.Collection- Specified by:
removeAllin interfacejava.util.List- Overrides:
removeAllin classjava.util.ArrayList
-
retainAll
public boolean retainAll(java.util.Collection paramCollection)
- Specified by:
retainAllin interfacejava.util.Collection- Specified by:
retainAllin interfacejava.util.List- Overrides:
retainAllin classjava.util.ArrayList
-
writeReplace
protected java.lang.Object writeReplace() throws java.io.ObjectStreamException- Throws:
java.io.ObjectStreamException
-
isDelayLoad
public boolean isDelayLoad()
-
get
public java.lang.Object get(int location)
- Specified by:
getin interfacejava.util.List- Overrides:
getin classjava.util.ArrayList
-
indexOf
public int indexOf(java.lang.Object object)
- Specified by:
indexOfin interfacejava.util.List- Overrides:
indexOfin classjava.util.ArrayList
-
lastIndexOf
public int lastIndexOf(java.lang.Object object)
- Specified by:
lastIndexOfin interfacejava.util.List- Overrides:
lastIndexOfin classjava.util.ArrayList
-
subList
public java.util.List subList(int start, int end)- Specified by:
subListin interfacejava.util.List- Overrides:
subListin classjava.util.ArrayList
-
contains
public boolean contains(java.lang.Object object)
- Specified by:
containsin interfacejava.util.Collection- Specified by:
containsin interfacejava.util.List- Overrides:
containsin classjava.util.ArrayList
-
containsAll
public boolean containsAll(java.util.Collection collection)
- Specified by:
containsAllin interfacejava.util.Collection- Specified by:
containsAllin interfacejava.util.List- Overrides:
containsAllin classjava.util.AbstractCollection
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection- Specified by:
isEmptyin interfacejava.util.List- Overrides:
isEmptyin classjava.util.ArrayList
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection- Specified by:
sizein interfacejava.util.List- Overrides:
sizein classjava.util.ArrayList
-
toArray
public java.lang.Object[] toArray()
- Specified by:
toArrayin interfacejava.util.Collection- Specified by:
toArrayin interfacejava.util.List- Overrides:
toArrayin classjava.util.ArrayList
-
toArray
public java.lang.Object[] toArray(java.lang.Object[] array)
- Specified by:
toArrayin interfacejava.util.Collection- Specified by:
toArrayin interfacejava.util.List- Overrides:
toArrayin classjava.util.ArrayList
-
toArray
public java.lang.Object[] toArray(java.util.function.IntFunction generator)
- Specified by:
toArrayin interfacejava.util.Collection
-
equals
public boolean equals(java.lang.Object paramObject)
- Specified by:
equalsin interfacejava.util.Collection- Specified by:
equalsin interfacejava.util.List- Overrides:
equalsin classjava.util.ArrayList
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Collection- Specified by:
hashCodein interfacejava.util.List- Overrides:
hashCodein classjava.util.ArrayList
-
isDirectAccess
public boolean isDirectAccess()
Description copied from interface:DelayedProxyReturns whether the caller has direct-call access to the proxied object. Direct access allows calls to be made on the object without triggering a load or proxy state tracking callbacks.- Specified by:
isDirectAccessin interfaceDelayedProxy
-
setDirectAccess
public void setDirectAccess(boolean direct)
Description copied from interface:DelayedProxySets whether the caller has direct-call access to the proxied object. Direct access allows calls to be made on the object without triggering a load or proxy state tracking callbacks.- Specified by:
setDirectAccessin interfaceDelayedProxy
-
getBrokerFactory
public BrokerFactory getBrokerFactory()
-
load
public void load()
Description copied from interface:DelayedProxyLoad the proxy if it was delay-loaded.- Specified by:
loadin interfaceDelayedProxy
-
getBroker
public Broker getBroker()
Description copied from interface:DelayedProxyGet the broker that is used to service this proxy.- Specified by:
getBrokerin interfaceDelayedProxy
-
closeBroker
public void closeBroker()
Description copied from interface:DelayedProxyClose the broker that is used to service this proxy.- Specified by:
closeBrokerin interfaceDelayedProxy
-
getOwnerStateManager
public OpenJPAStateManager getOwnerStateManager()
Description copied from interface:DelayedProxyReturns the state manager of the owning instance.- Specified by:
getOwnerStateManagerin interfaceDelayedProxy
-
isDetached
public boolean isDetached()
Description copied from interface:DelayedProxyReturns whether the proxy is detached.- Specified by:
isDetachedin interfaceDelayedProxy
-
-