Atavism Version 2018.1AGIS API

atavism.server.util
Class ForwardReverseMap<K,V>

java.lang.Object
  extended by atavism.server.util.ForwardReverseMap<K,V>
All Implemented Interfaces:
java.util.Map<K,V>

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

a map where you can look it up either in the forward direction or the reverse direction. obviously, this means the map must be 1:1 and onto


Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
java.util.Map.Entry<K,V>
 
Field Summary
protected  java.util.Map<K,V> forwardMap
           
protected  java.util.concurrent.locks.Lock lock
           
protected  java.util.Map<V,K> reverseMap
           
 
Constructor Summary
ForwardReverseMap()
           
 
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)
           
 K getByValue(java.lang.Object value)
          reverse lookup
 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)
           
 K removeByValue(java.lang.Object value)
           
 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

forwardMap

protected java.util.Map<K,V> forwardMap

reverseMap

protected java.util.Map<V,K> reverseMap

lock

protected transient java.util.concurrent.locks.Lock lock
Constructor Detail

ForwardReverseMap

public ForwardReverseMap()
Method Detail

clear

public void clear()
Specified by:
clear 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>

entrySet

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

get

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

getByValue

public K getByValue(java.lang.Object value)
reverse lookup


isEmpty

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

keySet

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

put

public V put(K key,
             V value)
Specified by:
put 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>

remove

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

removeByValue

public K removeByValue(java.lang.Object value)

size

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

values

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


Copyright © 2018 Dragonsan Studios Sp. z o.o.