Class LeaseMap<T>

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

public class LeaseMap<T> extends 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:
  • Constructor Details

    • 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 Details

    • get

      public Lease<T> get(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 Map<T,Lease<T>>
      Overrides:
      get in class 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(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 Map<T,Lease<T>>
      Overrides:
      remove in class 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