org.simpleframework.util.lease
Class LeaseMap<T>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.concurrent.ConcurrentHashMap<T,Lease<T>>
          extended by org.simpleframework.util.lease.LeaseMap<T>
All Implemented Interfaces:
java.io.Serializable, java.util.concurrent.ConcurrentMap<T,Lease<T>>, java.util.Map<T,Lease<T>>

public class LeaseMap<T>
extends java.util.concurrent.ConcurrentHashMap<T,Lease<T>>

The LeaseMap object is used to map lease keys to the lease objects managing those objects. This allows components that are using the leasing framework to associate an object with its lease and vice versa. Such a capability enables lease renewals to be performed without the need for a direct handle on the lease.

Author:
Niall Gallagher
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Constructor Summary
LeaseMap()
          Constructor for the LeaseMap object.
LeaseMap(int capacity)
          Constructor for the LeaseMap object.
 
Method Summary
 Lease<T> get(java.lang.Object key)
          This is used to acquire the Lease object that is mapped to the specified key.
 Lease<T> remove(java.lang.Object key)
          This is used to remove the Lease object that is mapped to the specified key.
 
Methods inherited from class java.util.concurrent.ConcurrentHashMap
clear, contains, containsKey, containsValue, elements, entrySet, isEmpty, keys, keySet, put, putAll, putIfAbsent, remove, replace, replace, 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

LeaseMap

public LeaseMap()
Constructor for the LeaseMap object. This will create a map for mapping leased resource keys to the leases that manage them. Having such a map allows leases to be maintained without having a direct handle on the lease.


LeaseMap

public LeaseMap(int capacity)
Constructor for the LeaseMap object. This will create a map for mapping leased resource keys to the leases that manage them. Having such a map allows leases to be maintained without having a direct handle on the lease.

Parameters:
capacity - this is the initial capacity of the map
Method Detail

get

public Lease<T> get(java.lang.Object key)
This is used to acquire the Lease object that is mapped to the specified key. Overriding this method ensures that even without generic parameters a type safe method for acquiring the registered lease objects can be used.

Specified by:
get in interface java.util.Map<T,Lease<T>>
Overrides:
get in class java.util.concurrent.ConcurrentHashMap<T,Lease<T>>
Parameters:
key - this is the key used to acquire the lease object
Returns:
this is the lease that is associated with the key

remove

public Lease<T> remove(java.lang.Object key)
This is used to remove the Lease object that is mapped to the specified key. Overriding this method ensures that even without generic parameters a type safe method for removing the registered lease objects can be used.

Specified by:
remove in interface java.util.Map<T,Lease<T>>
Overrides:
remove in class java.util.concurrent.ConcurrentHashMap<T,Lease<T>>
Parameters:
key - this is the key used to remove the lease object
Returns:
this is the lease that is associated with the key