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 void
add(int paramInt, Object paramObject)
boolean
add(Object paramObject)
boolean
addAll(int paramInt, Collection paramCollection)
boolean
addAll(Collection paramCollection)
void
clear()
Object
clone()
void
closeBroker()
Close the broker that is used to service this proxy.boolean
contains(Object object)
boolean
containsAll(Collection collection)
Object
copy(Object paramObject)
Return an unproxied copy of the given instance.boolean
equals(Object paramObject)
Object
get(int location)
Broker
getBroker()
Get the broker that is used to service this proxy.BrokerFactory
getBrokerFactory()
ChangeTracker
getChangeTracker()
Return the change tracker for this proxy, or null if none.int
getDelayedField()
Returns the expected field index even if this collection was detached.OpenJPAStateManager
getDelayedOwner()
Returns a state manager that can service this proxy even if the collection was detached.Class
getElementType()
The collection element type.OpenJPAStateManager
getOwner()
Return the owning object.int
getOwnerField()
Return the owning field index.OpenJPAStateManager
getOwnerStateManager()
Returns the state manager of the owning instance.int
hashCode()
int
indexOf(Object object)
boolean
isDelayLoad()
boolean
isDetached()
Returns whether the proxy is detached.boolean
isDirectAccess()
Returns whether the caller has direct-call access to the proxied object.boolean
isEmpty()
Iterator
iterator()
int
lastIndexOf(Object object)
ListIterator
listIterator()
ListIterator
listIterator(int paramInt)
void
load()
Load the proxy if it was delay-loaded.ProxyCollection
newInstance(Class paramClass, Comparator paramComparator, boolean paramBoolean1, boolean paramBoolean2)
Create a new instance of this proxy type.Object
remove(int paramInt)
boolean
remove(Object paramObject)
boolean
removeAll(Collection paramCollection)
boolean
retainAll(Collection paramCollection)
Object
set(int paramInt, Object paramObject)
protected void
setChangeTracker(CollectionChangeTracker ct)
void
setDirectAccess(boolean direct)
Sets whether the caller has direct-call access to the proxied object.protected void
setElementType(Class<?> elemType)
void
setOwner(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.int
size()
List
subList(int start, int end)
Object[]
toArray()
Object[]
toArray(Object[] array)
Object[]
toArray(IntFunction generator)
protected Object
writeReplace()
-
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:Proxy
Reset 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:DelayedProxy
Returns the expected field index even if this collection was detached.- Specified by:
getDelayedField
in interfaceDelayedProxy
-
getDelayedOwner
public OpenJPAStateManager getDelayedOwner()
Description copied from interface:DelayedProxy
Returns a state manager that can service this proxy even if the collection was detached.- Specified by:
getDelayedOwner
in interfaceDelayedProxy
-
getOwner
public OpenJPAStateManager getOwner()
Description copied from interface:Proxy
Return the owning object.
-
getOwnerField
public int getOwnerField()
Description copied from interface:Proxy
Return the owning field index.- Specified by:
getOwnerField
in interfaceProxy
-
getChangeTracker
public ChangeTracker getChangeTracker()
Description copied from interface:Proxy
Return the change tracker for this proxy, or null if none.- Specified by:
getChangeTracker
in interfaceProxy
-
setChangeTracker
protected void setChangeTracker(CollectionChangeTracker ct)
-
copy
public Object copy(Object paramObject)
Description copied from interface:Proxy
Return 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:ProxyCollection
The collection element type.- Specified by:
getElementType
in interfaceProxyCollection
-
setElementType
protected void setElementType(Class<?> elemType)
-
newInstance
public ProxyCollection newInstance(Class paramClass, Comparator paramComparator, boolean paramBoolean1, boolean paramBoolean2)
Description copied from interface:ProxyCollection
Create a new instance of this proxy type.- Specified by:
newInstance
in 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:
listIterator
in interfaceList
- Overrides:
listIterator
in classArrayList
-
listIterator
public ListIterator listIterator()
- Specified by:
listIterator
in interfaceList
- Overrides:
listIterator
in 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:
lastIndexOf
in interfaceList
- Overrides:
lastIndexOf
in classArrayList
-
subList
public List subList(int start, int end)
-
contains
public boolean contains(Object object)
-
containsAll
public boolean containsAll(Collection collection)
- Specified by:
containsAll
in interfaceCollection
- Specified by:
containsAll
in interfaceList
- Overrides:
containsAll
in classAbstractCollection
-
isEmpty
public boolean isEmpty()
-
size
public int size()
-
toArray
public Object[] toArray()
-
toArray
public Object[] toArray(IntFunction generator)
- Specified by:
toArray
in interfaceCollection
-
equals
public boolean equals(Object paramObject)
-
hashCode
public int hashCode()
-
isDirectAccess
public boolean isDirectAccess()
Description copied from interface:DelayedProxy
Returns 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:
isDirectAccess
in interfaceDelayedProxy
-
setDirectAccess
public void setDirectAccess(boolean direct)
Description copied from interface:DelayedProxy
Sets 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:
setDirectAccess
in interfaceDelayedProxy
-
getBrokerFactory
public BrokerFactory getBrokerFactory()
-
load
public void load()
Description copied from interface:DelayedProxy
Load the proxy if it was delay-loaded.- Specified by:
load
in interfaceDelayedProxy
-
getBroker
public Broker getBroker()
Description copied from interface:DelayedProxy
Get the broker that is used to service this proxy.- Specified by:
getBroker
in interfaceDelayedProxy
-
closeBroker
public void closeBroker()
Description copied from interface:DelayedProxy
Close the broker that is used to service this proxy.- Specified by:
closeBroker
in interfaceDelayedProxy
-
getOwnerStateManager
public OpenJPAStateManager getOwnerStateManager()
Description copied from interface:DelayedProxy
Returns the state manager of the owning instance.- Specified by:
getOwnerStateManager
in interfaceDelayedProxy
-
isDetached
public boolean isDetached()
Description copied from interface:DelayedProxy
Returns whether the proxy is detached.- Specified by:
isDetached
in interfaceDelayedProxy
-
-