railo.commons.util.mod
Class WeakHashMapPro<K,V>

java.lang.Object
  extended by railo.commons.util.mod.AbstractMapPro<K,V>
      extended by railo.commons.util.mod.WeakHashMapPro<K,V>
All Implemented Interfaces:
Externalizable, Serializable, Map<K,V>, MapPro<K,V>

public class WeakHashMapPro<K,V>
extends AbstractMapPro<K,V>
implements MapPro<K,V>

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class railo.commons.util.mod.AbstractMapPro
AbstractMapPro.SimpleEntry<K,V>, AbstractMapPro.SimpleImmutableEntry<K,V>
 
Constructor Summary
WeakHashMapPro()
          Constructs a new, empty WeakHashMap with the default initial capacity (16) and load factor (0.75).
WeakHashMapPro(int initialCapacity)
          Constructs a new, empty WeakHashMap with the given initial capacity and the default load factor (0.75).
WeakHashMapPro(int initialCapacity, float loadFactor)
          Constructs a new, empty WeakHashMap with the given initial capacity and the given load factor.
WeakHashMapPro(Map<? extends K,? extends V> m)
          Constructs a new WeakHashMap with the same mappings as the specified map.
 
Method Summary
 void clear()
          Removes all of the mappings from this map.
 boolean containsKey(Object key)
          Returns true if this map contains a mapping for the specified key.
 boolean containsValue(Object value)
          Returns true if this map maps one or more keys to the specified value.
 Set<Map.Entry<K,V>> entrySet()
          Returns a Set view of the mappings contained in this map.
 V g(K key)
           
 V g(K key, V defaultValue)
           
 V get(Object key)
          
 boolean isEmpty()
          Returns true if this map contains no key-value mappings.
 Set<K> keySet()
          Returns a Set view of the keys contained in this map.
 V put(K key, V value)
          Associates the specified value with the specified key in this map.
 void putAll(Map<? extends K,? extends V> m)
          Copies all of the mappings from the specified map to this map.
 V r(K key)
           
 V r(K key, V defaultValue)
           
 V remove(Object key)
          Removes the mapping for a key from this weak hash map if it is present.
 int size()
          Returns the number of key-value mappings in this map.
 Collection<V> values()
          Returns a Collection view of the values contained in this map.
 
Methods inherited from class railo.commons.util.mod.AbstractMapPro
equals, invalidKey, readExternal, toString, writeExternal
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

WeakHashMapPro

public WeakHashMapPro(int initialCapacity,
                      float loadFactor)
Constructs a new, empty WeakHashMap with the given initial capacity and the given load factor.

Parameters:
initialCapacity - The initial capacity of the WeakHashMap
loadFactor - The load factor of the WeakHashMap
Throws:
IllegalArgumentException - if the initial capacity is negative, or if the load factor is nonpositive.

WeakHashMapPro

public WeakHashMapPro(int initialCapacity)
Constructs a new, empty WeakHashMap with the given initial capacity and the default load factor (0.75).

Parameters:
initialCapacity - The initial capacity of the WeakHashMap
Throws:
IllegalArgumentException - if the initial capacity is negative

WeakHashMapPro

public WeakHashMapPro()
Constructs a new, empty WeakHashMap with the default initial capacity (16) and load factor (0.75).


WeakHashMapPro

public WeakHashMapPro(Map<? extends K,? extends V> m)
Constructs a new WeakHashMap with the same mappings as the specified map. The WeakHashMap is created with the default load factor (0.75) and an initial capacity sufficient to hold the mappings in the specified map.

Parameters:
m - the map whose mappings are to be placed in this map
Throws:
NullPointerException - if the specified map is null
Since:
1.3
Method Detail

size

public int size()
Returns the number of key-value mappings in this map. This result is a snapshot, and may not reflect unprocessed entries that will be removed before next attempted access because they are no longer referenced.

Specified by:
size in interface Map<K,V>
Overrides:
size in class AbstractMapPro<K,V>

isEmpty

public boolean isEmpty()
Returns true if this map contains no key-value mappings. This result is a snapshot, and may not reflect unprocessed entries that will be removed before next attempted access because they are no longer referenced.

Specified by:
isEmpty in interface Map<K,V>
Overrides:
isEmpty in class AbstractMapPro<K,V>

get

public V get(Object key)
Description copied from class: AbstractMapPro

This implementation iterates over entrySet() searching for an entry with the specified key. If such an entry is found, the entry's value is returned. If the iteration terminates without finding such an entry, null is returned. Note that this implementation requires linear time in the size of the map; many implementations will override this method.

Specified by:
get in interface Map<K,V>
Overrides:
get in class AbstractMapPro<K,V>

g

public V g(K key)
    throws PageException
Specified by:
g in interface MapPro<K,V>
Throws:
PageException

g

public V g(K key,
           V defaultValue)
Specified by:
g in interface MapPro<K,V>

containsKey

public boolean containsKey(Object key)
Returns true if this map contains a mapping for the specified key.

Specified by:
containsKey in interface Map<K,V>
Overrides:
containsKey in class AbstractMapPro<K,V>
Parameters:
key - The key whose presence in this map is to be tested
Returns:
true if there is a mapping for key; false otherwise

put

public V put(K key,
             V value)
Associates the specified value with the specified key in this map. If the map previously contained a mapping for this key, the old value is replaced.

Specified by:
put in interface Map<K,V>
Overrides:
put in class AbstractMapPro<K,V>
Parameters:
key - key with which the specified value is to be associated.
value - value to be associated with the specified key.
Returns:
the previous value associated with key, or null if there was no mapping for key. (A null return can also indicate that the map previously associated null with key.)

putAll

public void putAll(Map<? extends K,? extends V> m)
Copies all of the mappings from the specified map to this map. These mappings will replace any mappings that this map had for any of the keys currently in the specified map.

Specified by:
putAll in interface Map<K,V>
Overrides:
putAll in class AbstractMapPro<K,V>
Parameters:
m - mappings to be stored in this map.
Throws:
NullPointerException - if the specified map is null.

remove

public V remove(Object key)
Removes the mapping for a key from this weak hash map if it is present. More formally, if this map contains a mapping from key k to value v such that (key==null ? k==null : key.equals(k)), that mapping is removed. (The map can contain at most one such mapping.)

Returns the value to which this map previously associated the key, or null if the map contained no mapping for the key. A return value of null does not necessarily indicate that the map contained no mapping for the key; it's also possible that the map explicitly mapped the key to null.

The map will not contain a mapping for the specified key once the call returns.

Specified by:
remove in interface Map<K,V>
Overrides:
remove in class AbstractMapPro<K,V>
Parameters:
key - key whose mapping is to be removed from the map
Returns:
the previous value associated with key, or null if there was no mapping for key

r

public V r(K key)
    throws PageException
Specified by:
r in interface MapPro<K,V>
Throws:
PageException

r

public V r(K key,
           V defaultValue)
Specified by:
r in interface MapPro<K,V>

clear

public void clear()
Removes all of the mappings from this map. The map will be empty after this call returns.

Specified by:
clear in interface Map<K,V>
Overrides:
clear in class AbstractMapPro<K,V>

containsValue

public boolean containsValue(Object value)
Returns true if this map maps one or more keys to the specified value.

Specified by:
containsValue in interface Map<K,V>
Overrides:
containsValue in class AbstractMapPro<K,V>
Parameters:
value - value whose presence in this map is to be tested
Returns:
true if this map maps one or more keys to the specified value

keySet

public Set<K> keySet()
Returns a Set view of the keys contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Set.remove, removeAll, retainAll, and clear operations. It does not support the add or addAll operations.

Specified by:
keySet in interface Map<K,V>
Overrides:
keySet in class AbstractMapPro<K,V>

values

public Collection<V> values()
Returns a Collection view of the values contained in this map. The collection is backed by the map, so changes to the map are reflected in the collection, and vice-versa. If the map is modified while an iteration over the collection is in progress (except through the iterator's own remove operation), the results of the iteration are undefined. The collection supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Collection.remove, removeAll, retainAll and clear operations. It does not support the add or addAll operations.

Specified by:
values in interface Map<K,V>
Overrides:
values in class AbstractMapPro<K,V>

entrySet

public Set<Map.Entry<K,V>> entrySet()
Returns a Set view of the mappings contained in this map. The set is backed by the map, so changes to the map are reflected in the set, and vice-versa. If the map is modified while an iteration over the set is in progress (except through the iterator's own remove operation, or through the setValue operation on a map entry returned by the iterator) the results of the iteration are undefined. The set supports element removal, which removes the corresponding mapping from the map, via the Iterator.remove, Set.remove, removeAll, retainAll and clear operations. It does not support the add or addAll operations.

Specified by:
entrySet in interface Map<K,V>
Specified by:
entrySet in class AbstractMapPro<K,V>


Copyright © 2012 Railo