public class IndirectSet extends java.lang.Object implements CollectionChangeTracker, java.util.Set, 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 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(java.lang.Object element) |
boolean |
addAll(java.util.Collection c) |
protected java.util.Set |
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 |
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 |
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 |
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() |
java.lang.Object[] |
toArray(java.lang.Object[] 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 c)
c
- the initial elements of the setprotected boolean isRelationshipMaintenanceRequired()
public boolean add(java.lang.Object element)
add
in interface java.util.Collection
add
in interface java.util.Set
Set.add(java.lang.Object)
public boolean addAll(java.util.Collection c)
addAll
in interface java.util.Collection
addAll
in interface java.util.Set
Set.addAll(java.util.Collection)
protected java.util.Set buildDelegate()
public void clear()
clear
in interface java.util.Collection
clear
in interface java.util.Set
Set.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 cloneDelegate()
public boolean contains(java.lang.Object element)
contains
in interface java.util.Collection
contains
in interface java.util.Set
Set.contains(java.lang.Object)
public boolean containsAll(java.util.Collection c)
containsAll
in interface java.util.Collection
containsAll
in interface java.util.Set
Set.containsAll(java.util.Collection)
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection
equals
in interface java.util.Set
equals
in class java.lang.Object
Set.equals(java.lang.Object)
protected java.util.Set 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.Set
hashCode
in class java.lang.Object
Set.hashCode()
public boolean isEmpty()
isEmpty
in interface java.util.Collection
isEmpty
in interface java.util.Set
Set.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.Set
Set.iterator()
public boolean remove(java.lang.Object element)
remove
in interface java.util.Collection
remove
in interface java.util.Set
Set.remove(java.lang.Object)
public boolean removeAll(java.util.Collection c)
removeAll
in interface java.util.Collection
removeAll
in interface java.util.Set
Set.removeAll(java.util.Collection)
public boolean retainAll(java.util.Collection c)
retainAll
in interface java.util.Collection
retainAll
in interface java.util.Set
Set.retainAll(java.util.Collection)
public void setValueHolder(ValueHolderInterface valueHolder)
setValueHolder
in interface IndirectContainer
public void setUseLazyInstantiation(boolean useLazyInstantiation)
setUseLazyInstantiation
in interface IndirectCollection
public int size()
size
in interface java.util.Collection
size
in interface java.util.Set
Set.size()
protected boolean shouldUseLazyInstantiation()
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection
toArray
in interface java.util.Set
Set.toArray()
public java.lang.Object[] toArray(java.lang.Object[] a)
toArray
in interface java.util.Collection
toArray
in interface java.util.Set
Set.toArray(java.lang.Object[])
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()