org.codehaus.groovy.runtime.memoize

## Class LRUCache

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

All Implemented Interfaces:
  MemoizeCache<java.lang.Object,java.lang.Object>

    public final class LRUCache
    extends java.lang.Object
    implements MemoizeCache<java.lang.Object,java.lang.Object>

A cache backed by a Collections.SynchronizedMap

Author:
  Vaclav Pech

### Constructor Summary

Constructors
Constructor and Description
`LRUCache(int maxCacheSize)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `cleanUpNullReferences()` Replying on the Collections.SynchronizedMap thread-safe iteration implementation the method will remove all entries holding SoftReferences to gc-evicted objects.
`java.lang.Object` `get(java.lang.Object key)`
`java.lang.Object` `put(java.lang.Object key, java.lang.Object value)`

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

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

### Constructor Detail

#### LRUCache

    public LRUCache(int maxCacheSize)

### Method Detail

#### put

    public java.lang.Object put(java.lang.Object key,
                                java.lang.Object value)

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

#### get

    public java.lang.Object get(java.lang.Object key)

Specified by:
  `get` in interface `MemoizeCache<java.lang.Object,java.lang.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<java.lang.Object,java.lang.Object>`