E
- the type of elements maintained by this listpublic class IndirectList<E> extends java.util.Vector<E> implements CollectionChangeTracker, IndirectCollection
To use an IndirectList:
CollectionMapping
,
IndirectMap
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected java.util.Vector<E> |
delegate
Reduce type casting.
|
protected int |
initialCapacity
Store initial size for lazy init.
|
protected boolean |
isRegistered
PERF: Quick check flag if has been registered in a unit of work.
|
protected ValueHolderInterface |
valueHolder
Delegate indirection behavior to a value holder.
|
Constructor and Description |
---|
IndirectList()
PUBLIC:
Construct an empty IndirectList so that its internal data array
has size 10 and its standard capacity increment is zero.
|
IndirectList(java.util.Collection<? extends E> collection)
PUBLIC:
Construct an IndirectList containing the elements of the specified
collection, in the order they are returned by the collection's
iterator.
|
IndirectList(int initialCapacity)
PUBLIC:
Construct an empty IndirectList with the specified initial capacity and
with its capacity increment equal to zero.
|
IndirectList(int initialCapacity,
int capacityIncrement)
PUBLIC:
Construct an empty IndirectList with the specified initial capacity and
capacity increment.
|
Modifier and Type | Method and Description |
---|---|
java.beans.PropertyChangeListener |
_persistence_getPropertyChangeListener()
INTERNAL:
Return the property change listener for change tracking.
|
void |
_persistence_setPropertyChangeListener(java.beans.PropertyChangeListener changeListener)
INTERNAL:
Set the property change listener for change tracking.
|
boolean |
add(E element) |
void |
add(int index,
E element) |
boolean |
addAll(java.util.Collection<? extends E> c) |
boolean |
addAll(int index,
java.util.Collection<? extends E> c) |
void |
addElement(E obj) |
protected java.util.Vector<E> |
buildDelegate()
INTERNAL:
Return the freshly-built delegate.
|
int |
capacity() |
void |
clear() |
void |
clearDeferredChanges()
INTERNAL:
clear any changes that have been deferred to instantiation.
|
java.lang.Object |
clone()
PUBLIC:
|
boolean |
contains(java.lang.Object element)
PUBLIC:
|
boolean |
containsAll(java.util.Collection<?> c) |
void |
copyInto(java.lang.Object[] anArray) |
E |
elementAt(int index) |
java.util.Enumeration<E> |
elements() |
void |
ensureCapacity(int minCapacity) |
boolean |
equals(java.lang.Object o) |
E |
firstElement() |
E |
get(int index) |
java.util.Collection |
getAddedElements()
INTERNAL:
Return the elements that have been added before instantiation.
|
protected java.util.Vector<E> |
getDelegate()
INTERNAL:
Check whether the contents have been read from the database.
|
java.lang.Object |
getDelegateObject()
INTERNAL:
Return the real collection object.
|
java.util.Collection |
getRemovedElements()
INTERNAL:
Return the elements that have been removed before instantiation.
|
java.lang.String |
getTrackedAttributeName()
INTERNAL:
Return the mapping attribute name, used to raise change events.
|
ValueHolderInterface |
getValueHolder()
INTERNAL:
Return the valueHolder.
|
boolean |
hasAddedElements()
INTERNAL:
Return if any elements that have been added before instantiation.
|
boolean |
hasBeenRegistered()
INTERNAL:
return whether this IndirectList has been registered with the UnitOfWork
|
boolean |
hasDeferredChanges()
INTERNAL:
Return if any elements that have been added or removed before instantiation.
|
int |
hashCode()
INTERNAL:
|
boolean |
hasRemovedElements()
INTERNAL:
Return if any elements that have been removed before instantiation.
|
boolean |
hasTrackedPropertyChangeListener()
INTERNAL:
Return if the collection has a property change listener for change tracking.
|
int |
indexOf(java.lang.Object elem) |
int |
indexOf(java.lang.Object elem,
int index) |
void |
insertElementAt(E obj,
int index) |
boolean |
isEmpty() |
boolean |
isInstantiated()
PUBLIC:
Return whether the contents have been read from the database.
|
boolean |
isListOrderBrokenInDb() |
protected boolean |
isRelationshipMaintenanceRequired() |
java.util.Iterator<E> |
iterator() |
E |
lastElement() |
int |
lastIndexOf(java.lang.Object elem) |
int |
lastIndexOf(java.lang.Object elem,
int index) |
java.util.ListIterator<E> |
listIterator() |
java.util.ListIterator<E> |
listIterator(int index) |
protected void |
raiseAddChangeEvent(java.lang.Object element,
java.lang.Integer index)
Raise the add change event and relationship maintenance.
|
protected void |
raiseAddChangeEvent(java.lang.Object element,
java.lang.Integer index,
boolean isSet) |
protected void |
raiseRemoveChangeEvent(java.lang.Object element,
java.lang.Integer index)
Raise the remove change event.
|
protected void |
raiseRemoveChangeEvent(java.lang.Object element,
java.lang.Integer index,
boolean isSet) |
E |
remove(int index) |
boolean |
remove(java.lang.Object element) |
boolean |
removeAll(java.util.Collection<?> c) |
void |
removeAllElements() |
boolean |
removeElement(java.lang.Object obj) |
void |
removeElementAt(int index) |
boolean |
retainAll(java.util.Collection<?> c) |
E |
set(int index,
E element) |
void |
setElementAt(E obj,
int index) |
void |
setIsListOrderBrokenInDb(boolean isBroken) |
void |
setSize(int newSize) |
void |
setTrackedAttributeName(java.lang.String attributeName)
INTERNAL:
Set the mapping attribute name, used to raise change events.
|
void |
setUseLazyInstantiation(boolean useLazyInstantiation)
INTERNAL
Set whether this collection should attempt do deal with adds and removes without retrieving the
collection from the dB
|
void |
setValueHolder(ValueHolderInterface valueHolder)
INTERNAL:
Set the value holder.
|
protected boolean |
shouldAvoidInstantiation()
INTERNAL:
Return if add/remove should trigger instantiation or avoid.
|
protected boolean |
shouldUseLazyInstantiation()
Return whether this collection should attempt do deal with adds and removes without retrieving the
collection from the dB
|
int |
size() |
void |
sort(java.util.Comparator<? super E> c)
Sort content of this instance according to the order induced by provided comparator.
|
java.util.List<E> |
subList(int fromIndex,
int toIndex) |
java.lang.Object[] |
toArray() |
<T> T[] |
toArray(T[] a) |
java.lang.String |
toString()
PUBLIC:
Use the java.util.Vector#toString(); but wrap it with braces to indicate
there is a bit of indirection.
|
void |
trimToSize() |
protected boolean |
usesListOrderField()
INTERNAL:
Returns whether the mapping has listOrderField.
|
forEach, removeIf, removeRange, replaceAll, spliterator
protected volatile java.util.Vector<E> delegate
protected ValueHolderInterface valueHolder
protected int initialCapacity
protected boolean isRegistered
public IndirectList()
public IndirectList(int initialCapacity)
initialCapacity
- the initial capacity of the vectorjava.lang.IllegalArgumentException
- if the specified initial capacity
is negativepublic IndirectList(int initialCapacity, int capacityIncrement)
initialCapacity
- the initial capacity of the vectorcapacityIncrement
- the amount by which the capacity is
increased when the vector overflowsjava.lang.IllegalArgumentException
- if the specified initial capacity
is negativepublic IndirectList(java.util.Collection<? extends E> collection)
collection
- a collection containing the elements to construct this IndirectList with.public void add(int index, E element)
protected void raiseAddChangeEvent(java.lang.Object element, java.lang.Integer index)
protected void raiseAddChangeEvent(java.lang.Object element, java.lang.Integer index, boolean isSet)
protected boolean isRelationshipMaintenanceRequired()
protected void raiseRemoveChangeEvent(java.lang.Object element, java.lang.Integer index)
protected void raiseRemoveChangeEvent(java.lang.Object element, java.lang.Integer index, boolean isSet)
public boolean add(E element)
public boolean addAll(int index, java.util.Collection<? extends E> c)
public boolean addAll(java.util.Collection<? extends E> c)
public void addElement(E obj)
addElement
in class java.util.Vector<E>
Vector.addElement(java.lang.Object)
protected java.util.Vector<E> buildDelegate()
public int capacity()
capacity
in class java.util.Vector<E>
Vector.capacity()
public void clear()
public void clearDeferredChanges()
clearDeferredChanges
in interface IndirectCollection
public java.lang.Object clone()
clone
in class java.util.Vector<E>
This will result in a database query if necessary.
public boolean contains(java.lang.Object element)
public boolean containsAll(java.util.Collection<?> c)
public void copyInto(java.lang.Object[] anArray)
copyInto
in class java.util.Vector<E>
Vector.copyInto(java.lang.Object[])
public E elementAt(int index)
elementAt
in class java.util.Vector<E>
Vector.elementAt(int)
public java.util.Enumeration<E> elements()
elements
in class java.util.Vector<E>
Vector.elements()
public void ensureCapacity(int minCapacity)
ensureCapacity
in class java.util.Vector<E>
Vector.ensureCapacity(int)
public boolean equals(java.lang.Object o)
public E firstElement()
firstElement
in class java.util.Vector<E>
Vector.firstElement()
public E get(int index)
protected java.util.Vector<E> getDelegate()
public java.lang.Object getDelegateObject()
getDelegateObject
in interface IndirectCollection
public ValueHolderInterface getValueHolder()
getValueHolder
in interface IndirectContainer
public boolean hasBeenRegistered()
public int hashCode()
public int indexOf(java.lang.Object elem)
public int indexOf(java.lang.Object elem, int index)
indexOf
in class java.util.Vector<E>
Vector.indexOf(java.lang.Object, int)
public void insertElementAt(E obj, int index)
insertElementAt
in class java.util.Vector<E>
Vector.insertElementAt(java.lang.Object, int)
public boolean isEmpty()
public boolean isInstantiated()
isInstantiated
in interface IndirectContainer
public java.util.Iterator<E> iterator()
public E lastElement()
lastElement
in class java.util.Vector<E>
Vector.lastElement()
public int lastIndexOf(java.lang.Object elem)
public int lastIndexOf(java.lang.Object elem, int index)
lastIndexOf
in class java.util.Vector<E>
Vector.lastIndexOf(java.lang.Object, int)
public java.util.ListIterator<E> listIterator()
public java.util.ListIterator<E> listIterator(int index)
public E remove(int index)
public boolean remove(java.lang.Object element)
public boolean removeAll(java.util.Collection<?> c)
public void removeAllElements()
removeAllElements
in class java.util.Vector<E>
Vector.removeAllElements()
public boolean removeElement(java.lang.Object obj)
removeElement
in class java.util.Vector<E>
Vector.removeElement(java.lang.Object)
public void removeElementAt(int index)
removeElementAt
in class java.util.Vector<E>
Vector.removeElementAt(int)
public boolean retainAll(java.util.Collection<?> c)
public void setElementAt(E obj, int index)
setElementAt
in class java.util.Vector<E>
Vector.setElementAt(java.lang.Object, int)
public void setSize(int newSize)
setSize
in class java.util.Vector<E>
Vector.setSize(int)
public void setUseLazyInstantiation(boolean useLazyInstantiation)
setUseLazyInstantiation
in interface IndirectCollection
public void setValueHolder(ValueHolderInterface valueHolder)
setValueHolder
in interface IndirectContainer
public int size()
public void sort(java.util.Comparator<? super E> c)
protected boolean shouldUseLazyInstantiation()
public java.util.List<E> subList(int fromIndex, int toIndex)
public java.lang.Object[] toArray()
public <T> T[] toArray(T[] a)
public java.lang.String toString()
toString
in class java.util.Vector<E>
Vector.toString()
public void trimToSize()
trimToSize
in class java.util.Vector<E>
Vector.trimToSize()
public java.beans.PropertyChangeListener _persistence_getPropertyChangeListener()
_persistence_getPropertyChangeListener
in interface ChangeTracker
public boolean hasTrackedPropertyChangeListener()
public void _persistence_setPropertyChangeListener(java.beans.PropertyChangeListener changeListener)
_persistence_setPropertyChangeListener
in interface ChangeTracker
public java.lang.String getTrackedAttributeName()
getTrackedAttributeName
in interface CollectionChangeTracker
public void setTrackedAttributeName(java.lang.String attributeName)
setTrackedAttributeName
in interface CollectionChangeTracker
public java.util.Collection getRemovedElements()
getRemovedElements
in interface IndirectCollection
public java.util.Collection getAddedElements()
getAddedElements
in interface IndirectCollection
public boolean hasAddedElements()
public boolean hasRemovedElements()
public boolean hasDeferredChanges()
hasDeferredChanges
in interface IndirectCollection
protected boolean shouldAvoidInstantiation()
protected boolean usesListOrderField()
public boolean isListOrderBrokenInDb()
public void setIsListOrderBrokenInDb(boolean isBroken)