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:
Serializable,Cloneable,Iterable,Collection,List,RandomAccess,Proxy,DelayedProxy,ProxyCollection
public class DelayedArrayListProxy extends 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
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description DelayedArrayListProxy()DelayedArrayListProxy(int paramInt)DelayedArrayListProxy(Collection paramCollection)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int paramInt, Object paramObject)booleanadd(Object paramObject)booleanaddAll(int paramInt, Collection paramCollection)booleanaddAll(Collection paramCollection)voidclear()Objectclone()voidcloseBroker()Close the broker that is used to service this proxy.booleancontains(Object object)booleancontainsAll(Collection collection)Objectcopy(Object paramObject)Return an unproxied copy of the given instance.booleanequals(Object paramObject)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.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(Object object)booleanisDelayLoad()booleanisDetached()Returns whether the proxy is detached.booleanisDirectAccess()Returns whether the caller has direct-call access to the proxied object.booleanisEmpty()Iteratoriterator()intlastIndexOf(Object object)ListIteratorlistIterator()ListIteratorlistIterator(int paramInt)voidload()Load the proxy if it was delay-loaded.ProxyCollectionnewInstance(Class paramClass, Comparator paramComparator, boolean paramBoolean1, boolean paramBoolean2)Create a new instance of this proxy type.Objectremove(int paramInt)booleanremove(Object paramObject)booleanremoveAll(Collection paramCollection)booleanretainAll(Collection paramCollection)Objectset(int paramInt, Object paramObject)protected voidsetChangeTracker(CollectionChangeTracker ct)voidsetDirectAccess(boolean direct)Sets whether the caller has direct-call access to the proxied object.protected voidsetElementType(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()ListsubList(int start, int end)Object[]toArray()Object[]toArray(Object[] array)Object[]toArray(IntFunction generator)protected ObjectwriteReplace()-
Methods inherited from class java.util.ArrayList
ensureCapacity, forEach, removeIf, removeRange, replaceAll, sort, spliterator, trimToSize
-
Methods inherited from class java.util.AbstractCollection
toString
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
-
-
-
-
Constructor Detail
-
DelayedArrayListProxy
public DelayedArrayListProxy()
-
DelayedArrayListProxy
public DelayedArrayListProxy(Collection paramCollection)
-
DelayedArrayListProxy
public DelayedArrayListProxy(int paramInt)
-
-
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
-
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 Object copy(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 Class getElementType()
Description copied from interface:ProxyCollectionThe collection element type.- Specified by:
getElementTypein interfaceProxyCollection
-
setElementType
protected void setElementType(Class<?> elemType)
-
newInstance
public ProxyCollection newInstance(Class paramClass, 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(Object paramObject)
-
add
public void add(int paramInt, Object paramObject)
-
clear
public void clear()
-
addAll
public boolean addAll(int paramInt, Collection paramCollection)
-
addAll
public boolean addAll(Collection paramCollection)
-
remove
public boolean remove(Object paramObject)
-
remove
public Object remove(int paramInt)
-
iterator
public Iterator iterator()
-
listIterator
public ListIterator listIterator(int paramInt)
- Specified by:
listIteratorin interfaceList- Overrides:
listIteratorin classArrayList
-
listIterator
public ListIterator listIterator()
- Specified by:
listIteratorin interfaceList- Overrides:
listIteratorin classArrayList
-
removeAll
public boolean removeAll(Collection paramCollection)
-
retainAll
public boolean retainAll(Collection paramCollection)
-
writeReplace
protected Object writeReplace() throws ObjectStreamException
- Throws:
ObjectStreamException
-
isDelayLoad
public boolean isDelayLoad()
-
get
public Object get(int location)
-
indexOf
public int indexOf(Object object)
-
lastIndexOf
public int lastIndexOf(Object object)
- Specified by:
lastIndexOfin interfaceList- Overrides:
lastIndexOfin classArrayList
-
subList
public List subList(int start, int end)
-
contains
public boolean contains(Object object)
-
containsAll
public boolean containsAll(Collection collection)
- Specified by:
containsAllin interfaceCollection- Specified by:
containsAllin interfaceList- Overrides:
containsAllin classAbstractCollection
-
isEmpty
public boolean isEmpty()
-
size
public int size()
-
toArray
public Object[] toArray()
-
toArray
public Object[] toArray(IntFunction generator)
- Specified by:
toArrayin interfaceCollection
-
equals
public boolean equals(Object paramObject)
-
hashCode
public int hashCode()
-
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
-
-