public class IndirectList extends java.util.Vector implements CollectionChangeTracker, IndirectCollection
To use an IndirectList:
CollectionMapping
,
IndirectMap
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected java.util.Vector |
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 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.
|
void |
add(int index,
java.lang.Object element) |
boolean |
add(java.lang.Object element) |
boolean |
addAll(java.util.Collection c) |
boolean |
addAll(int index,
java.util.Collection c) |
void |
addElement(java.lang.Object obj) |
protected java.util.Vector |
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) |
java.lang.Object |
elementAt(int index) |
java.util.Enumeration |
elements() |
void |
ensureCapacity(int minCapacity) |
boolean |
equals(java.lang.Object o) |
java.lang.Object |
firstElement() |
java.lang.Object |
get(int index) |
java.util.Collection |
getAddedElements()
INTERNAL:
Return the elements that have been added before instantiation.
|
protected java.util.Vector |
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(java.lang.Object 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 |
iterator() |
java.lang.Object |
lastElement() |
int |
lastIndexOf(java.lang.Object elem) |
int |
lastIndexOf(java.lang.Object elem,
int index) |
java.util.ListIterator |
listIterator() |
java.util.ListIterator |
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) |
java.lang.Object |
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) |
java.lang.Object |
set(int index,
java.lang.Object element) |
void |
setElementAt(java.lang.Object 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() |
java.util.List |
subList(int fromIndex,
int toIndex) |
java.lang.Object[] |
toArray() |
java.lang.Object[] |
toArray(java.lang.Object[] 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.
|
protected volatile java.util.Vector 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 collection)
collection
- a collection containing the elements to construct this IndirectList with.public void add(int index, java.lang.Object element)
add
in interface java.util.List
add
in class java.util.Vector
Vector.add(int, java.lang.Object)
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(java.lang.Object element)
add
in interface java.util.Collection
add
in interface java.util.List
add
in class java.util.Vector
Vector.add(java.lang.Object)
public boolean addAll(int index, java.util.Collection c)
addAll
in interface java.util.List
addAll
in class java.util.Vector
Vector.addAll(int, java.util.Collection)
public boolean addAll(java.util.Collection c)
addAll
in interface java.util.Collection
addAll
in interface java.util.List
addAll
in class java.util.Vector
Vector.addAll(java.util.Collection)
public void addElement(java.lang.Object obj)
addElement
in class java.util.Vector
Vector.addElement(java.lang.Object)
protected java.util.Vector buildDelegate()
public int capacity()
capacity
in class java.util.Vector
Vector.capacity()
public void clear()
clear
in interface java.util.Collection
clear
in interface java.util.List
clear
in class java.util.Vector
Vector.clear()
public void clearDeferredChanges()
clearDeferredChanges
in interface IndirectCollection
public java.lang.Object clone()
clone
in class java.util.Vector
This will result in a database query if necessary.
public boolean contains(java.lang.Object element)
contains
in interface java.util.Collection
contains
in interface java.util.List
contains
in class java.util.Vector
Vector.contains(java.lang.Object)
public boolean containsAll(java.util.Collection c)
containsAll
in interface java.util.Collection
containsAll
in interface java.util.List
containsAll
in class java.util.Vector
Vector.containsAll(java.util.Collection)
public void copyInto(java.lang.Object[] anArray)
copyInto
in class java.util.Vector
Vector.copyInto(java.lang.Object[])
public java.lang.Object elementAt(int index)
elementAt
in class java.util.Vector
Vector.elementAt(int)
public java.util.Enumeration elements()
elements
in class java.util.Vector
Vector.elements()
public void ensureCapacity(int minCapacity)
ensureCapacity
in class java.util.Vector
Vector.ensureCapacity(int)
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection
equals
in interface java.util.List
equals
in class java.util.Vector
Vector.equals(java.lang.Object)
public java.lang.Object firstElement()
firstElement
in class java.util.Vector
Vector.firstElement()
public java.lang.Object get(int index)
get
in interface java.util.List
get
in class java.util.Vector
Vector.get(int)
protected java.util.Vector getDelegate()
public java.lang.Object getDelegateObject()
getDelegateObject
in interface IndirectCollection
public ValueHolderInterface getValueHolder()
getValueHolder
in interface IndirectContainer
public boolean hasBeenRegistered()
public int hashCode()
hashCode
in interface java.util.Collection
hashCode
in interface java.util.List
hashCode
in class java.util.Vector
Vector.hashCode()
public int indexOf(java.lang.Object elem)
indexOf
in interface java.util.List
indexOf
in class java.util.Vector
Vector.indexOf(java.lang.Object)
public int indexOf(java.lang.Object elem, int index)
indexOf
in class java.util.Vector
Vector.indexOf(java.lang.Object, int)
public void insertElementAt(java.lang.Object obj, int index)
insertElementAt
in class java.util.Vector
Vector.insertElementAt(java.lang.Object, int)
public boolean isEmpty()
isEmpty
in interface java.util.Collection
isEmpty
in interface java.util.List
isEmpty
in class java.util.Vector
Vector.isEmpty()
public boolean isInstantiated()
isInstantiated
in interface IndirectContainer
public java.util.Iterator iterator()
iterator
in interface java.lang.Iterable
iterator
in interface java.util.Collection
iterator
in interface java.util.List
iterator
in class java.util.Vector
AbstractList.iterator()
public java.lang.Object lastElement()
lastElement
in class java.util.Vector
Vector.lastElement()
public int lastIndexOf(java.lang.Object elem)
lastIndexOf
in interface java.util.List
lastIndexOf
in class java.util.Vector
Vector.lastIndexOf(java.lang.Object)
public int lastIndexOf(java.lang.Object elem, int index)
lastIndexOf
in class java.util.Vector
Vector.lastIndexOf(java.lang.Object, int)
public java.util.ListIterator listIterator()
listIterator
in interface java.util.List
listIterator
in class java.util.Vector
AbstractList.listIterator()
public java.util.ListIterator listIterator(int index)
listIterator
in interface java.util.List
listIterator
in class java.util.Vector
AbstractList.listIterator(int)
public java.lang.Object remove(int index)
remove
in interface java.util.List
remove
in class java.util.Vector
Vector.remove(int)
public boolean remove(java.lang.Object element)
remove
in interface java.util.Collection
remove
in interface java.util.List
remove
in class java.util.Vector
Vector.remove(java.lang.Object)
public boolean removeAll(java.util.Collection c)
removeAll
in interface java.util.Collection
removeAll
in interface java.util.List
removeAll
in class java.util.Vector
Vector.removeAll(java.util.Collection)
public void removeAllElements()
removeAllElements
in class java.util.Vector
Vector.removeAllElements()
public boolean removeElement(java.lang.Object obj)
removeElement
in class java.util.Vector
Vector.removeElement(java.lang.Object)
public void removeElementAt(int index)
removeElementAt
in class java.util.Vector
Vector.removeElementAt(int)
public boolean retainAll(java.util.Collection c)
retainAll
in interface java.util.Collection
retainAll
in interface java.util.List
retainAll
in class java.util.Vector
Vector.retainAll(java.util.Collection)
public java.lang.Object set(int index, java.lang.Object element)
set
in interface java.util.List
set
in class java.util.Vector
Vector.set(int, java.lang.Object)
public void setElementAt(java.lang.Object obj, int index)
setElementAt
in class java.util.Vector
Vector.setElementAt(java.lang.Object, int)
public void setSize(int newSize)
setSize
in class java.util.Vector
Vector.setSize(int)
public void setUseLazyInstantiation(boolean useLazyInstantiation)
setUseLazyInstantiation
in interface IndirectCollection
public void setValueHolder(ValueHolderInterface valueHolder)
setValueHolder
in interface IndirectContainer
public int size()
size
in interface java.util.Collection
size
in interface java.util.List
size
in class java.util.Vector
Vector.size()
protected boolean shouldUseLazyInstantiation()
public java.util.List subList(int fromIndex, int toIndex)
subList
in interface java.util.List
subList
in class java.util.Vector
Vector.subList(int, int)
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
toArray
in interface java.util.List
toArray
in class java.util.Vector
Vector.toArray()
public java.lang.Object[] toArray(java.lang.Object[] a)
toArray
in interface java.util.Collection
toArray
in interface java.util.List
toArray
in class java.util.Vector
Vector.toArray(java.lang.Object[])
public java.lang.String toString()
toString
in class java.util.Vector
Vector.toString()
public void trimToSize()
trimToSize
in class java.util.Vector
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)