| 
 | org.codehaus.gpars | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | ENUM CONSTANTS | FIELD | METHOD | DETAIL: ENUM CONSTANTS | FIELD | METHOD | |||||||
java.lang.Objectgroovyx.gpars.extra166y.CustomConcurrentHashMap.Strength
public enum CustomConcurrentHashMap.Strength
The strength of keys and values that may be held by maps. strong denotes ordinary objects. weak and soft denote the corresponding java.lang.ref.Reference types.
| Enum Constant Summary | |
|---|---|
| soft | |
| strong | |
| weak | |
| Field Summary | |
|---|---|
| private java.lang.String | nameA  | 
| Method Summary | |
|---|---|
| java.lang.Object | Strength(java.lang.String name) | 
| java.lang.String | getName() | 
| Methods inherited from class java.lang.Object | |
|---|---|
| java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
| Enum Constant Detail | 
|---|
CustomConcurrentHashMap.Strength soft
CustomConcurrentHashMap.Strength strong
CustomConcurrentHashMap.Strength weak
| Field Detail | 
|---|
private final java.lang.String name
java.util.ConcurrentMap supporting user-defined
 equivalence comparisons, soft, weak, or strong keys and values, and
 user-supplied computational methods for setting and updating
 values. In particular: MappingFunctions that may be
        used in method CustomConcurrentHashMap#computeIfAbsent#computeIfAbsent to atomically
        establish a computed value, along with
        RemappingFunctions that can be used in method
        CustomConcurrentHashMap#compute#compute to atomically
        replace values.
    int
        keys and/or values, that may be more space-efficient
 
 identityMap = new CustomConcurrentHashMap<Person,Salary>
     (STRONG, IDENTITY, STRONG, EQUALS, 0);
 weakKeyMap = new CustomConcurrentHashMap<Person,Salary>
     (WEAK, IDENTITY, STRONG, EQUALS, 0);
     .weakKeys());
 byNameMap = new CustomConcurrentHashMap<Person,Salary>
     (STRONG,
      new Equivalence<Person>() {
          public boolean equal(Person k, Object x) {
            return x instanceof Person && k.name.equals(((Person)x).name);
          
          public int hash(Object x) {
             return (x instanceof Person) ? ((Person)x).name.hashCode() : 0;
          }
        },
      STRONG, EQUALS, 0);
 }
 
 The first usage above provides a replacement for java.util.IdentityHashMap, and the second a replacement for java.util.WeakHashMap, adding concurrency, asynchronous cleanup,
 and identity-based equality for keys. The third usage
 illustrates a map with a custom Equivalence that looks only at the
 name field of a (fictional) Person class.
 This class also includes nested class KeySet
 that provides space-efficient Set views of maps, also supporting
 method intern, which may be of use in canonicalizing
 elements.
 
When used with (Weak or Soft) Reference keys and/or values,
 elements that have asynchronously become null are
 treated as absent from the map and (eventually) removed from maps
 via a background thread common across all maps. Because of the
 potential for asynchronous clearing of References, methods such as
 containsValue have weaker guarantees than you might
 expect even in the absence of other explicitly concurrent
 operations. For example containsValue(value) may
 return true even if value is no longer available upon
 return from the method.
 
When Equivalences other than equality are used, the returned
 collections may violate the specifications of Map and/or
 Set interfaces, which mandate the use of the
 equals method when comparing objects.  The methods of this
 class otherwise have properties similar to those of java.util.ConcurrentHashMap under its default settings.  To
 adaptively maintain semantics and performance under varying
 conditions, this class does not support load factor or
 concurrency level parameters.  This class does not permit null keys
 or values. This class is serializable; however, serializing a map
 that uses soft or weak references can give unpredictable results.
 This class supports all optional operations of the ConcurrentMap interface.  It supports have weakly consistent
 iteration: an iterator over one of the map's view collections
 may reflect some, all or none of the changes made to the collection
 after the iterator was created.
 
This class is a member of the Java Collections Framework.
| Method Detail | 
|---|
java.lang.Object Strength(java.lang.String name)
java.lang.String getName()
Copyright © 2008–2013 Václav Pech. All Rights Reserved.