# Package com.fasterxml.jackson.databind.util.internal

This package contains an implementation of a bounded `ConcurrentMap` data structure.

See: Description

Class Summary
PrivateMaxEntriesMap<K,V>: A hash table supporting full concurrency of retrievals, adjustable expected concurrency for updates, and a maximum capacity to bound the map by.
PrivateMaxEntriesMap.Builder<K,V>: A builder that creates `PrivateMaxEntriesMap` instances.

## Package com.fasterxml.jackson.databind.util.internal Description

This package contains an implementation of a bounded `ConcurrentMap` data structure.

This package is intended only for use internally by Jackson libraries and has missing features compared to the full http://code.google.com/p/concurrentlinkedhashmap/ implementation.

`com.fasterxml.jackson.databind.util.internal.Weigher` is a simple interface for determining how many units of capacity an entry consumes. Depending on which concrete Weigher class is used, an entry may consume a different amount of space within the cache. The `com.fasterxml.jackson.databind.util.internal.Weighers` class provides utility methods for obtaining the most common kinds of implementations.

`EvictionListener` provides the ability to be notified when an entry is evicted from the map. An eviction occurs when the entry was automatically removed due to the map exceeding a capacity threshold. It is not called when an entry was explicitly removed.

The `PrivateMaxEntriesMap` class supplies an efficient, scalable, thread-safe, bounded map. As with the `Java Collections Framework` the "Concurrent" prefix is used to indicate that the map is not governed by a single exclusion lock.

See Also:
  http://code.google.com/p/concurrentlinkedhashmap/