Oracle Fusion Middleware Java API Reference for Oracle TopLink
11g Release 1 (11.1.1)

B32476-03

oracle.toplink.indirection
Class IndirectSet

java.lang.Object
  extended by oracle.toplink.indirection.IndirectSet
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, java.lang.Iterable, java.util.Collection, java.util.Set, ChangeTracker, CollectionChangeTracker, IndirectCollection, IndirectContainer
Direct Known Subclasses:
EJBIndirectSet

public class IndirectSet
extends java.lang.Object
implements CollectionChangeTracker, java.util.Set, IndirectCollection, java.lang.Cloneable, java.io.Serializable

IndirectSet is an example implementation of the Set protocol that allows a domain class to take advantage of TopLink Indirection without having to declare its instance variable as a ValueHolderInterface.

To use an IndirectSet:

TopLink will place an IndirectSet in the instance variable when the containing domain object is read from the datatabase. With the first message sent to the IndirectSet, the contents are fetched from the database and normal Set behavior is resumed.

Implementation notes:

Since:
TOPLink/Java 3.0+
See Also:
CollectionMapping, Serialized Form

Constructor Summary
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.
 
Method Summary
 boolean add(java.lang.Object element)
           
 boolean addAll(java.util.Collection c)
           
 void clear()
           
 java.lang.Object clone()
           
 boolean contains(java.lang.Object element)
           
 boolean containsAll(java.util.Collection c)
           
 boolean equals(java.lang.Object o)
           
 int hashCode()
           
 boolean isEmpty()
           
 boolean isInstantiated()
          Return whether the contents have been read from the database.
 java.util.Iterator iterator()
           
 boolean remove(java.lang.Object element)
           
 boolean removeAll(java.util.Collection c)
           
 boolean retainAll(java.util.Collection c)
           
 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.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IndirectSet

public IndirectSet()
Construct an empty IndirectSet.


IndirectSet

public IndirectSet(int initialCapacity)
Construct an empty IndirectSet with the specified initial capacity.

Parameters:
initialCapacity - the initial capacity of the set
Throws:
java.lang.IllegalArgumentException - if the specified initial capacity is negative

IndirectSet

public IndirectSet(int initialCapacity,
                   float loadFactor)
Construct an empty IndirectSet with the specified initial capacity and load factor.

Parameters:
initialCapacity - the initial capacity of the set
loadFactor - the load factor of the set
Throws:
java.lang.IllegalArgumentException - if the specified initial capacity is negative

IndirectSet

public IndirectSet(java.util.Collection c)
Construct an IndirectSet containing the elements of the specified collection.

Parameters:
c - the initial elements of the set
Method Detail

add

public boolean add(java.lang.Object element)
Specified by:
add in interface java.util.Collection
Specified by:
add in interface java.util.Set
See Also:
Set.add(java.lang.Object)

addAll

public boolean addAll(java.util.Collection c)
Specified by:
addAll in interface java.util.Collection
Specified by:
addAll in interface java.util.Set
See Also:
Set.addAll(java.util.Collection)

clear

public void clear()
Specified by:
clear in interface java.util.Collection
Specified by:
clear in interface java.util.Set
See Also:
Set.clear()

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object
See Also:
This will result in a database query if necessary.

contains

public boolean contains(java.lang.Object element)
Specified by:
contains in interface java.util.Collection
Specified by:
contains in interface java.util.Set
See Also:
Set.contains(java.lang.Object)

containsAll

public boolean containsAll(java.util.Collection c)
Specified by:
containsAll in interface java.util.Collection
Specified by:
containsAll in interface java.util.Set
See Also:
Set.containsAll(java.util.Collection)

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.Collection
Specified by:
equals in interface java.util.Set
Overrides:
equals in class java.lang.Object
See Also:
Set.equals(java.lang.Object)

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.Collection
Specified by:
hashCode in interface java.util.Set
Overrides:
hashCode in class java.lang.Object
See Also:
Set.hashCode()

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection
Specified by:
isEmpty in interface java.util.Set
See Also:
Set.isEmpty()

isInstantiated

public boolean isInstantiated()
Return whether the contents have been read from the database.

Specified by:
isInstantiated in interface IndirectContainer

iterator

public java.util.Iterator iterator()
Specified by:
iterator in interface java.lang.Iterable
Specified by:
iterator in interface java.util.Collection
Specified by:
iterator in interface java.util.Set
See Also:
Set.iterator()

remove

public boolean remove(java.lang.Object element)
Specified by:
remove in interface java.util.Collection
Specified by:
remove in interface java.util.Set
See Also:
Set.remove(java.lang.Object)

removeAll

public boolean removeAll(java.util.Collection c)
Specified by:
removeAll in interface java.util.Collection
Specified by:
removeAll in interface java.util.Set
See Also:
Set.removeAll(java.util.Collection)

retainAll

public boolean retainAll(java.util.Collection c)
Specified by:
retainAll in interface java.util.Collection
Specified by:
retainAll in interface java.util.Set
See Also:
Set.retainAll(java.util.Collection)

size

public int size()
Specified by:
size in interface java.util.Collection
Specified by:
size in interface java.util.Set
See Also:
Set.size()

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection
Specified by:
toArray in interface java.util.Set
See Also:
Set.toArray()

toArray

public java.lang.Object[] toArray(java.lang.Object[] a)
Specified by:
toArray in interface java.util.Collection
Specified by:
toArray in interface java.util.Set
See Also:
Set.toArray(java.lang.Object[])

toString

public java.lang.String toString()
Use the delegate's #toString(); but wrap it with braces to indicate there is a bit of indirection. Don't allow this method to trigger a database read.

Overrides:
toString in class java.lang.Object
See Also:
AbstractCollection.toString()

Copyright © 1998, 2010, Oracle. All Rights Reserved.