Package org.codehaus.groovy.runtime.memoize

# Class LRUCache

java.lang.Object
org.codehaus.groovy.runtime.memoize.LRUCache

All Implemented Interfaces:
  `MemoizeCache<Object,Object>`

public final class LRUCache extends Object implements MemoizeCache<Object,Object>
A cache backed by a Collections.SynchronizedMap

Author:
  Vaclav Pech

## Constructor Summary

Constructors
Constructor
Description
`LRUCache(int maxCacheSize)`

## Method Summary

Modifier and Type
Method
Description
`void`
`cleanUpNullReferences()`
Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
`Object`
`get(Object key)`
`Object`
`put(Object key, Object value)`

### Methods inherited from class java.lang.Object

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

## Constructor Details

### LRUCache

public LRUCache(int maxCacheSize)

## Method Details

### put

public Object put(Object key, Object value)

Specified by:
  `put` in interface `MemoizeCache<Object,Object>`

### get

public Object get(Object key)

Specified by:
  `get` in interface `MemoizeCache<Object,Object>`

### cleanUpNullReferences

public void cleanUpNullReferences()
Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.

Specified by:
  `cleanUpNullReferences` in interface `MemoizeCache<Object,Object>`