# Class CachingLookup<K,V>

java.lang.Object
org.fressian.impl.CachingLookup<K,V>

All Implemented Interfaces:
  `ILookup<K,V>`

public class CachingLookup<K,V> extends Object implements ILookup<K,V>

## Field Summary

Fields
Modifier and Type
Field
Description
`final ILookup<K,V>`
`lookup`
`final ConcurrentHashMap<K,V>`
`map`
`final AtomicReference<V>`
`nullKeyValue`

## Constructor Summary

Constructors
Constructor
Description
`CachingLookup(ILookup<K,V> lookup)`

## Method Summary

Modifier and Type
Method
Description
`V`
`valAt(K key)`

### Methods inherited from class Object

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

## Field Details

### lookup

public final ILookup<K,V> lookup

### map

public final ConcurrentHashMap<K,V> map

### nullKeyValue

public final AtomicReference<V> nullKeyValue

## Constructor Details

### CachingLookup

public CachingLookup(ILookup<K,V> lookup)

## Method Details

### valAt

public V valAt(K key)

Specified by:
  `valAt` in interface `ILookup<K,V>`