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()