jetbrains.buildServer.util
Class SLRUMap<K,V>

java.lang.Object
  extended by jetbrains.buildServer.util.SLRUMap<K,V>
All Implemented Interfaces:
java.util.Map<K,V>

public class SLRUMap<K,V>
extends java.lang.Object
implements java.util.Map<K,V>


Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
protected  java.util.LinkedHashMap<K,V> myProbationalQueue
           
protected  java.util.LinkedHashMap<K,V> myProtectedQueue
           
 
Constructor Summary
SLRUMap(int protectedQueueSize, int probationalQueueSize)
           
 
Method Summary
 void clear()
           
 boolean containsKey(java.lang.Object key)
           
 boolean containsValue(java.lang.Object value)
           
 java.util.Set<java.util.Map.Entry<K,V>> entrySet()
           
 V get(java.lang.Object key)
           
 float getHitRate()
           
 boolean isEmpty()
           
 java.util.Set<K> keySet()
           
 V put(K key, V value)
           
 void putAll(java.util.Map<? extends K,? extends V> m)
           
 V remove(java.lang.Object key)
           
 int size()
           
 java.util.Collection<V> values()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

myProtectedQueue

protected final java.util.LinkedHashMap<K,V> myProtectedQueue

myProbationalQueue

protected final java.util.LinkedHashMap<K,V> myProbationalQueue
Constructor Detail

SLRUMap

public SLRUMap(int protectedQueueSize,
               int probationalQueueSize)
Method Detail

get

@Nullable
public V get(java.lang.Object key)
Specified by:
get in interface java.util.Map<K,V>

size

public int size()
Specified by:
size in interface java.util.Map<K,V>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Map<K,V>

containsKey

public boolean containsKey(java.lang.Object key)
Specified by:
containsKey in interface java.util.Map<K,V>

containsValue

public boolean containsValue(java.lang.Object value)
Specified by:
containsValue in interface java.util.Map<K,V>

put

@Nullable
public V put(K key,
                      @NotNull
                      V value)
Specified by:
put in interface java.util.Map<K,V>

remove

public V remove(java.lang.Object key)
Specified by:
remove in interface java.util.Map<K,V>

putAll

public void putAll(java.util.Map<? extends K,? extends V> m)
Specified by:
putAll in interface java.util.Map<K,V>

entrySet

@NotNull
public java.util.Set<java.util.Map.Entry<K,V>> entrySet()
Specified by:
entrySet in interface java.util.Map<K,V>

clear

public void clear()
Specified by:
clear in interface java.util.Map<K,V>

keySet

@NotNull
public java.util.Set<K> keySet()
Specified by:
keySet in interface java.util.Map<K,V>

values

@NotNull
public java.util.Collection<V> values()
Specified by:
values in interface java.util.Map<K,V>

getHitRate

public float getHitRate()