# Class ConcurrentLruCache<T>

java.lang.Object
org.apache.tomcat.util.collections.ConcurrentLruCache<T>

Type Parameters:
  `T` - the type of entries stored in the cache

public class ConcurrentLruCache<T> extends Object
A thread-safe LRU (Least Recently Used) cache with a configurable size limit. Entries beyond the limit are evicted in LRU order.

## Constructor Summary

Constructors
Constructor
Description
`ConcurrentLruCache(int limit)`
Creates a new LRU cache with the specified size limit.

## Method Summary

Modifier and Type
Method
Description
`void`
`add(T entry)`
Adds an entry to the cache.
`void`
`clear()`
Removes all entries from the cache.
`boolean`
`contains(T entry)`
Checks whether the cache contains the given entry.
`int`
`getLimit()`
Returns the current maximum number of entries allowed in the cache.
`void`
`setLimit(int limit)`
Sets the maximum number of entries in the cache.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ConcurrentLruCache

public ConcurrentLruCache(int limit)
Creates a new LRU cache with the specified size limit.

Parameters:
  `limit` - the maximum number of entries in the cache

## Method Details

### add

public void add(T entry)
Adds an entry to the cache. If the cache is at its limit, the least recently used entry will be evicted.

Parameters:
  `entry` - the entry to add

### contains

public boolean contains(T entry)
Checks whether the cache contains the given entry. Accessing an entry through this method updates its recency.

Parameters:
  `entry` - the entry to check
Returns:
  `true` if the entry is in the cache

### clear

public void clear()
Removes all entries from the cache.

### setLimit

public void setLimit(int limit)
Sets the maximum number of entries in the cache. If the new limit is smaller than the current size, the least recently used entries will be evicted. A limit of 0 or less disables the cache.

Parameters:
  `limit` - the new maximum number of entries

### getLimit

public int getLimit()
Returns the current maximum number of entries allowed in the cache.

Returns:
  the cache limit, or -1 if the cache is disabled