E
- the type of elements maintained by this setpublic class IndirectSet<E> extends java.lang.Object implements CollectionChangeTracker, java.util.Set<E>, IndirectCollection, java.lang.Cloneable, java.io.Serializable
To use an IndirectSet:
Implementation notes:
CollectionMapping
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected int |
initialCapacity
Store initial size for lazy init.
|
protected float |
loadFactor
Store load factor for lazy init.
|
Constructor and Description |
---|
IndirectSet()
Construct an empty IndirectSet.
|
IndirectSet(java.util.Collection<? extends E> c)
Construct an IndirectSet containing the elements of the specified collection.
|
IndirectSet(int initialCapacity)
Construct an empty IndirectSet with the specified initial capacity.
|
IndirectSet(int initialCapacity,
float loadFactor)
Construct an empty IndirectSet with the specified initial capacity and
load factor.
|
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) |
boolean |
addAll(java.util.Collection<? extends E> c) |
protected java.util.Set<E> |
buildDelegate()
INTERNAL:
Return the freshly-built delegate.
|
void |
clear() |
void |
clearDeferredChanges()
INTERNAL:
clear any changes that have been deferred to instantiation.
|
java.lang.Object |
clone() |
protected java.util.Set<E> |
cloneDelegate()
INTERNAL:
Clone the delegate.
|
boolean |
contains(java.lang.Object element) |
boolean |
containsAll(java.util.Collection<?> c) |
boolean |
equals(java.lang.Object o) |
java.util.Collection |
getAddedElements()
INTERNAL:
Return the elements that have been added before instantiation.
|
protected java.util.Set<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 IndirectSet has been registered in a UnitOfWork
|
boolean |
hasDeferredChanges()
INTERNAL:
Return if any elements that have been added or removed before instantiation.
|
int |
hashCode() |
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.
|
boolean |
isEmpty() |
boolean |
isInstantiated()
Return whether the contents have been read from the database.
|
protected boolean |
isRelationshipMaintenanceRequired() |
java.util.Iterator<E> |
iterator() |
protected void |
raiseAddChangeEvent(java.lang.Object element)
Raise the add change event and relationship maintainence.
|
protected void |
raiseRemoveChangeEvent(java.lang.Object element)
Raise the remove change event.
|
boolean |
remove(java.lang.Object element) |
boolean |
removeAll(java.util.Collection<?> c) |
boolean |
retainAll(java.util.Collection<?> c) |
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.lang.Object[] |
toArray() |
<E> E[] |
toArray(E[] a) |
java.lang.String |
toString()
Use the delegate's #toString(); but wrap it with braces to indicate
there is a bit of indirection.
|
protected int initialCapacity
protected float loadFactor
public IndirectSet()
public IndirectSet(int initialCapacity)
initialCapacity
- the initial capacity of the setjava.lang.IllegalArgumentException
- if the specified initial capacity
is negativepublic IndirectSet(int initialCapacity, float loadFactor)
initialCapacity
- the initial capacity of the setloadFactor
- the load factor of the setjava.lang.IllegalArgumentException
- if the specified initial capacity
is negativepublic IndirectSet(java.util.Collection<? extends E> c)
c
- the initial elements of the setprotected boolean isRelationshipMaintenanceRequired()
public boolean add(E element)
public boolean addAll(java.util.Collection<? extends E> c)
protected java.util.Set<E> buildDelegate()
public void clear()
public void clearDeferredChanges()
clearDeferredChanges
in interface IndirectCollection
public java.lang.Object clone()
clone
in class java.lang.Object
This will result in a database query if necessary.
protected java.util.Set<E> cloneDelegate()
public boolean contains(java.lang.Object element)
public boolean containsAll(java.util.Collection<?> c)
public boolean equals(java.lang.Object o)
protected java.util.Set<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 boolean isEmpty()
public boolean isInstantiated()
isInstantiated
in interface IndirectContainer
public java.util.Iterator<E> iterator()
public boolean remove(java.lang.Object element)
public boolean removeAll(java.util.Collection<?> c)
public boolean retainAll(java.util.Collection<?> c)
public void setValueHolder(ValueHolderInterface valueHolder)
setValueHolder
in interface IndirectContainer
public void setUseLazyInstantiation(boolean useLazyInstantiation)
setUseLazyInstantiation
in interface IndirectCollection
public int size()
protected boolean shouldUseLazyInstantiation()
public java.lang.Object[] toArray()
public <E> E[] toArray(E[] a)
public java.lang.String toString()
toString
in class java.lang.Object
AbstractCollection.toString()
protected void raiseAddChangeEvent(java.lang.Object element)
protected void raiseRemoveChangeEvent(java.lang.Object element)
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()