at.molindo.utils.collections
Class ClassMap<V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.WeakHashMap<Class<?>,V>
          extended by at.molindo.utils.collections.ClassMap<V>
Type Parameters:
V - value type
All Implemented Interfaces:
Map<Class<?>,V>

public class ClassMap<V>
extends WeakHashMap<Class<?>,V>

A specialized WeakHashMap that ads the find(Class) method to find mappings for superclasses.

Author:
stf

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
ClassMap()
           
ClassMap(int initialCapacity)
           
ClassMap(int initialCapacity, float loadFactor)
           
ClassMap(Map<? extends Class<?>,? extends V> m)
           
 
Method Summary
static
<V> ClassMap<V>
create()
           
static
<V> ClassMap<V>
create(int initialCapacity)
           
static
<V> ClassMap<V>
create(int initialCapacity, float loadFactor)
           
static
<V> ClassMap<V>
create(Map<? extends Class<?>,? extends V> m)
           
 V find(Class<?> cls)
           
 
Methods inherited from class java.util.WeakHashMap
clear, containsKey, containsValue, entrySet, get, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
clone, equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

ClassMap

public ClassMap()
See Also:
WeakHashMap.WeakHashMap()

ClassMap

public ClassMap(int initialCapacity,
                float loadFactor)
See Also:
WeakHashMap.WeakHashMap(int, float)

ClassMap

public ClassMap(int initialCapacity)
See Also:
WeakHashMap.WeakHashMap(int)

ClassMap

public ClassMap(Map<? extends Class<?>,? extends V> m)
See Also:
WeakHashMap.WeakHashMap(Map)
Method Detail

create

public static <V> ClassMap<V> create()
See Also:
ClassMap()

create

public static <V> ClassMap<V> create(int initialCapacity,
                                     float loadFactor)
See Also:
ClassMap(int, float)

create

public static <V> ClassMap<V> create(int initialCapacity)
See Also:
ClassMap(int)

create

public static <V> ClassMap<V> create(Map<? extends Class<?>,? extends V> m)
See Also:
ClassMap(Map)

find

public V find(Class<?> cls)
Returns:
first mapping for cls or one of its superclasses.


Copyright © 2013 Molindo GmbH. All Rights Reserved.