oracle.toplink.indirection
Class IndirectMap
java.lang.Object
|
+--java.util.Dictionary
|
+--java.util.Hashtable
|
+--oracle.toplink.indirection.IndirectMap
- All Implemented Interfaces:
- java.lang.Cloneable, IndirectContainer, java.util.Map, java.io.Serializable
- public class IndirectMap
- extends java.util.Hashtable
- implements IndirectContainer
IndirectMap allows a domain class to take advantage of TopLink indirection
without having to declare its instance variable as a ValueHolderInterface.
To use an IndirectMap:
- Declare the appropriate instance variable with type Hashtable (jdk1.1)
or Map (jdk1.2).
- Send the message #useTransparentMap(String) to the appropriate
CollectionMapping.
TopLink will place an
IndirectMap in the instance variable when the containing domain object is read from
the datatabase. With the first message sent to the IndirectMap, the contents
are fetched from the database and normal Hashtable/Map behavior is resumed.
- Since:
- TOPLink/Java 2.5
- See Also:
CollectionMapping,
IndirectList, Serialized Form
| Inner classes inherited from class java.util.Map |
java.util.Map.Entry |
IndirectMap()
PUBLIC:
Construct a new, empty IndirectMap with a default
capacity and load factor. |
IndirectMap(int initialCapacity)
PUBLIC:
Construct a new, empty IndirectMap with the specified initial capacity
and default load factor. |
IndirectMap(int initialCapacity,
float loadFactor)
PUBLIC:
Construct a new, empty IndirectMap with the specified initial
capacity and load factor. |
IndirectMap(java.util.Map m)
PUBLIC:
Construct a new IndirectMap with the same mappings as the given Map. |
| Methods inherited from class java.lang.Object |
getClass, notify, notifyAll, wait, wait, wait |
IndirectMap
public IndirectMap()
- PUBLIC:
Construct a new, empty IndirectMap with a default
capacity and load factor.
IndirectMap
public IndirectMap(int initialCapacity)
- PUBLIC:
Construct a new, empty IndirectMap with the specified initial capacity
and default load factor.
- Parameters:
initialCapacity - the initial capacity of the hashtable
IndirectMap
public IndirectMap(int initialCapacity,
float loadFactor)
- PUBLIC:
Construct a new, empty IndirectMap with the specified initial
capacity and load factor.
- Parameters:
initialCapacity - the initial capacity of the hashtableloadFactor - a number between 0.0 and 1.0- Throws:
java.lang.IllegalArgumentException - if the initial capacity is less
than or equal to zero, or if the load factor is less than
or equal to zero
IndirectMap
public IndirectMap(java.util.Map m)
- PUBLIC:
Construct a new IndirectMap with the same mappings as the given Map.
The IndirectMap is created with a capacity of twice the number of entries
in the given Map or 11 (whichever is greater), and a default load factor, which is 0.75.
- Parameters:
m - a map containing the mappings to use
clear
public void clear()
- Overrides:
clear in class java.util.Hashtable
- See Also:
Hashtable.clear()
clone
public java.lang.Object clone()
- Overrides:
clone in class java.util.Hashtable
- See Also:
This will result in a database query if necessary.
contains
public boolean contains(java.lang.Object value)
- Overrides:
contains in class java.util.Hashtable
- See Also:
Hashtable.contains(java.lang.Object)
containsKey
public boolean containsKey(java.lang.Object key)
- Overrides:
containsKey in class java.util.Hashtable
- See Also:
Hashtable.containsKey(java.lang.Object)
containsValue
public boolean containsValue(java.lang.Object value)
- Overrides:
containsValue in class java.util.Hashtable
- See Also:
Hashtable.containsValue(java.lang.Object)
elements
public java.util.Enumeration elements()
- Overrides:
elements in class java.util.Hashtable
- See Also:
Hashtable.elements()
entrySet
public java.util.Set entrySet()
- Overrides:
entrySet in class java.util.Hashtable
- See Also:
Hashtable.entrySet()
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals in class java.util.Hashtable
- See Also:
Hashtable.equals(java.lang.Object)
get
public java.lang.Object get(java.lang.Object key)
- Overrides:
get in class java.util.Hashtable
- See Also:
Hashtable.get(java.lang.Object)
getValueHolder
public ValueHolderInterface getValueHolder()
- PUBLIC:
Return the valueHolder.
- Specified by:
getValueHolder in interface IndirectContainer
- Following copied from interface:
oracle.toplink.indirection.IndirectContainer
- Returns:
- oracle.toplink.indirection.ValueHolderInterface A representation of the valueholder * which this container uses
hashCode
public int hashCode()
- Overrides:
hashCode in class java.util.Hashtable
- See Also:
Hashtable.hashCode()
isEmpty
public boolean isEmpty()
- Overrides:
isEmpty in class java.util.Hashtable
- See Also:
Hashtable.isEmpty()
isInstantiated
public boolean isInstantiated()
- PUBLIC:
Return whether the contents have been read from the database.
- Specified by:
isInstantiated in interface IndirectContainer
keys
public java.util.Enumeration keys()
- Overrides:
keys in class java.util.Hashtable
- See Also:
Hashtable.keys()
keySet
public java.util.Set keySet()
- Overrides:
keySet in class java.util.Hashtable
- See Also:
Hashtable.keySet()
put
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
- Overrides:
put in class java.util.Hashtable
- See Also:
Hashtable.put(java.lang.Object, java.lang.Object)
putAll
public void putAll(java.util.Map t)
- Overrides:
putAll in class java.util.Hashtable
- See Also:
Hashtable.putAll(java.util.Map)
remove
public java.lang.Object remove(java.lang.Object key)
- Overrides:
remove in class java.util.Hashtable
- See Also:
Hashtable.remove(java.lang.Object)
setValueHolder
public void setValueHolder(ValueHolderInterface valueHolder)
- PUBLIC:
Set the value holder.
- Specified by:
setValueHolder in interface IndirectContainer
size
public int size()
- Overrides:
size in class java.util.Hashtable
- See Also:
Hashtable.size()
toString
public java.lang.String toString()
- PUBLIC:
Use the Hashtable.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.util.Hashtable
- See Also:
Hashtable.toString()
values
public java.util.Collection values()
- Overrides:
values in class java.util.Hashtable
- See Also:
Hashtable.values()