org.simpleframework.util.lease

## Class LeaseMap<T>

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - java.util.concurrent.ConcurrentHashMap<T,Lease<T>>
    - - 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

Constructors
Constructor and Description
`LeaseMap()` Constructor for the `LeaseMap` object.
`LeaseMap(int capacity)` Constructor for the `LeaseMap` object.

### Method Summary

Methods
`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