You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by te...@apache.org on 2009/05/07 23:43:44 UTC
svn commit: r772785 [12/12] -
/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/
Modified: harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/WeakHashMap.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/WeakHashMap.java?rev=772785&r1=772784&r2=772785&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/WeakHashMap.java (original)
+++ harmony/enhanced/classlib/trunk/modules/luni/src/main/java/java/util/WeakHashMap.java Thu May 7 21:43:41 2009
@@ -21,10 +21,11 @@
import java.lang.ref.WeakReference;
/**
- * WeakHashMap is an implementation of Map with keys which are WeakReferences.
- * The key/value mapping is removed when the key is no longer referenced. All
- * optional operations are supported, adding and removing. Keys and values can
- * be any objects.
+ * WeakHashMap is an implementation of Map with keys which are WeakReferences. A
+ * key/value mapping is removed when the key is no longer referenced. All
+ * optional operations (adding and removing) are supported. Keys and values can
+ * be any objects. Note that the garbage collector acts similar to a second
+ * thread on this collection, possibly removing keys.
*
* @since 1.2
* @see HashMap
@@ -181,20 +182,20 @@
}
/**
- * Constructs a new empty instance of WeakHashMap.
+ * Constructs a new empty {@code WeakHashMap} instance.
*/
public WeakHashMap() {
this(DEFAULT_SIZE);
}
/**
- * Constructs a new instance of WeakHashMap with the specified capacity.
+ * Constructs a new {@code WeakHashMap} instance with the specified
+ * capacity.
*
* @param capacity
- * the initial capacity of this WeakHashMap
- *
- * @exception IllegalArgumentException
- * when the capacity is less than zero
+ * the initial capacity of this map.
+ * @throws IllegalArgumentException
+ * if the capacity is less than zero.
*/
public WeakHashMap(int capacity) {
if (capacity >= 0) {
@@ -209,17 +210,16 @@
}
/**
- * Constructs a new instance of WeakHashMap with the specified capacity and
- * load factor.
+ * Constructs a new {@code WeakHashMap} instance with the specified capacity
+ * and load factor.
*
* @param capacity
- * the initial capacity
+ * the initial capacity of this map.
* @param loadFactor
- * the initial load factor
- *
- * @exception IllegalArgumentException
- * when the capacity is less than zero or the load factor is
- * less or equal to zero
+ * the initial load factor.
+ * @throws IllegalArgumentException
+ * if the capacity is less than zero or the load factor is less
+ * or equal to zero.
*/
public WeakHashMap(int capacity, float loadFactor) {
if (capacity >= 0 && loadFactor > 0) {
@@ -234,11 +234,11 @@
}
/**
- * Constructs a new instance of HashMap containing the mappings from the
- * specified Map.
+ * Constructs a new {@code WeakHashMap} instance containing the mappings
+ * from the specified map.
*
* @param map
- * the mappings to add
+ * the mappings to add.
*/
public WeakHashMap(Map<? extends K, ? extends V> map) {
this(map.size() < 6 ? 11 : map.size() * 2);
@@ -246,10 +246,10 @@
}
/**
- * Removes all mappings from this WeakHashMap, leaving it empty.
+ * Removes all mappings from this map, leaving it empty.
*
- * @see #isEmpty
- * @see #size
+ * @see #isEmpty()
+ * @see #size()
*/
@Override
public void clear() {
@@ -268,12 +268,12 @@
}
/**
- * Searches this WeakHashMap for the specified key.
+ * Returns whether this map contains the specified key.
*
* @param key
- * the object to search for
- * @return true if <code>key</code> is a key of this WeakHashMap, false
- * otherwise
+ * the key to search for.
+ * @return {@code true} if this map contains the specified key,
+ * {@code false} otherwise.
*/
@Override
public boolean containsKey(Object key) {
@@ -281,12 +281,12 @@
}
/**
- * Answers a Set of the mappings contained in this WeakHashMap. Each element
- * in the set is a Map.Entry. The set is backed by this WeakHashMap so
- * changes to one are reflected by the other. The set does not support
- * adding.
- *
- * @return a Set of the mappings
+ * Returns a set containing all of the mappings in this map. Each mapping is
+ * an instance of {@link Map.Entry}. As the set is backed by this map,
+ * changes in one will be reflected in the other. It does not support adding
+ * operations.
+ *
+ * @return a set of the mappings.
*/
@Override
public Set<Map.Entry<K, V>> entrySet() {
@@ -340,11 +340,11 @@
}
/**
- * Answers a Set of the keys contained in this WeakHashMap. The set is
- * backed by this WeakHashMap so changes to one are reflected by the other.
- * The set does not support adding.
+ * Returns a set of the keys contained in this map. The set is backed by
+ * this map so changes to one are reflected by the other. The set does not
+ * support adding.
*
- * @return a Set of the keys
+ * @return a set of the keys.
*/
@Override
public Set<K> keySet() {
@@ -409,11 +409,23 @@
}
/**
- * Answers a Collection of the values contained in this WeakHashMap. The
- * collection is backed by this WeakHashMap so changes to one are reflected
- * by the other. The collection does not support adding.
+ * Returns a collection of the values contained in this map. The collection
+ * is backed by this map so changes to one are reflected by the other. The
+ * collection supports remove, removeAll, retainAll and clear operations,
+ * and it does not support add or addAll operations.
+ * <p>
+ * This method returns a collection which is the subclass of
+ * AbstractCollection. The iterator method of this subclass returns a
+ * "wrapper object" over the iterator of map's entrySet(). The size method
+ * wraps the map's size method and the contains method wraps the map's
+ * containsValue method.
+ * <p>
+ * The collection is created when this method is called at first time and
+ * returned in response to all subsequent calls. This method may return
+ * different Collection when multiple calls to this method, since it has no
+ * synchronization performed.
*
- * @return a Collection of the values
+ * @return a collection of the values contained in this map.
*/
@Override
public Collection<V> values() {
@@ -449,11 +461,12 @@
}
/**
- * Answers the value of the mapping with the specified key.
+ * Returns the value of the mapping with the specified key.
*
* @param key
- * the key
- * @return the value of the mapping with the specified key
+ * the key.
+ * @return the value of the mapping with the specified key, or {@code null}
+ * if no mapping for the specified key is found.
*/
@Override
public V get(Object key) {
@@ -503,13 +516,12 @@
}
/**
- * Searches this WeakHashMap for the specified value, and returns true, if
- * at least one entry has this object as its value.
+ * Returns whether this map contains the specified value.
*
* @param value
- * the object to search for
- * @return true if <code>value</code> is a value in this WeakHashMap,
- * false otherwise
+ * the value to search for.
+ * @return {@code true} if this map contains the specified value,
+ * {@code false} otherwise.
*/
@Override
public boolean containsValue(Object value) {
@@ -542,11 +554,9 @@
}
/**
- * Answers if this WeakHashMap has no elements, a size of zero.
- *
- * @return true if this HashMap has no elements, false otherwise
+ * Returns the number of elements in this map.
*
- * @see #size
+ * @return the number of elements in this map.
*/
@Override
public boolean isEmpty() {
@@ -587,11 +597,11 @@
* Maps the specified key to the specified value.
*
* @param key
- * the key
+ * the key.
* @param value
- * the value
- * @return the value of any previous mapping with the specified key or null
- * if there was no mapping
+ * the value.
+ * @return the value of any previous mapping with the specified key or
+ * {@code null} if there was no mapping.
*/
@Override
public V put(K key, V value) {
@@ -654,9 +664,9 @@
* the given map.
*
* @param map
- * the Map to copy mappings from
+ * the map to copy mappings from.
* @throws NullPointerException
- * if the given map is null
+ * if {@code map} is {@code null}.
*/
@Override
public void putAll(Map<? extends K, ? extends V> map) {
@@ -664,12 +674,12 @@
}
/**
- * Removes a mapping with the specified key from this WeakHashMap.
+ * Removes the mapping with the specified key from this map.
*
* @param key
- * the key of the mapping to remove
- * @return the value of the removed mapping or null if key is not a key in
- * this WeakHashMap
+ * the key of the mapping to remove.
+ * @return the value of the removed mapping or {@code null} if no mapping
+ * for the specified key was found.
*/
@Override
public V remove(Object key) {
@@ -704,9 +714,9 @@
}
/**
- * Answers the number of mappings in this WeakHashMap.
+ * Returns the number of elements in this map.
*
- * @return the number of mappings in this WeakHashMap
+ * @return the number of elements in this map.
*/
@Override
public int size() {