Class OneToOneIndex<K,V>
java.lang.Object
com.atlassian.bamboo.plan.cache.index.util.OneToOneIndex<K,V>
A class that allows to index any key <-> value, one-to-one relationship. The key characteristics of this class is that,
unlike Map<K,V>, it doesn't require linear scan when removing by value.
Both K and V must have hashCode() and equals() correctly defined.
The class is, for the most part, thread safe. Important: if accessing forward and backward mapping directly, calling code should
synchronize on this object.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addToIndex
(K key, V value) To be used when you can be sure no prior mapping exists for both key and value.void
clear()
You need to synchronize on this object if using this method.getByValue
(V value) You need to synchronize on this object if using this method.void
removeByKey
(K key) removeByValue
(V value)
-
Constructor Details
-
OneToOneIndex
public OneToOneIndex()
-
-
Method Details
-
addToIndex
To be used when you can be sure no prior mapping exists for both key and value. -
index
-
getForwardMapping
You need to synchronize on this object if using this method. -
getBackwardMapping
You need to synchronize on this object if using this method. -
removeByKey
-
removeByValue
-
getByKey
-
getByValue
-
clear
public void clear()
-