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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `LRUCache(int maxCacheSize)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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>`