Package net.kyori.adventure.util
Class Index<K,V> 
java.lang.Object
net.kyori.adventure.util.Index<K,V> 
- Type Parameters:
 K- the key typeV- the value type
A bi-directional map in which keys and values must be unique.
- Since:
 - 4.0.0
 
- 
Method Summary
Modifier and TypeMethodDescriptionstatic <K,V> @NotNull Index<K, V> Creates an index map.static <K,V> @NotNull Index<K, V> Creates an index map.Creates an index map.create(Class<V> type, @NotNull Function<? super V, ? extends K> keyFunction, @NotNull V @NotNull ... values) Creates an index map.Gets the key for a value.Gets a key by its value or returns a fallback key.keyOrThrow(V value) Gets the key for a value or throws an exception.keys()Gets the keys.Get an unmodifiable mapping of index entries from key to value.Gets a value by its key.Gets a value by its key or returns a fallback value.valueOrThrow(K key) Gets a value by its key.values()Gets the keys.Get an unmodifiable mapping of index entries from value to key. 
- 
Method Details
- 
create
@NotNull public static <K,V extends Enum<V>> @NotNull Index<K,V> create(Class<V> type, @NotNull @NotNull Function<? super V, ? extends K> keyFunction) Creates an index map.- Type Parameters:
 K- the key typeV- the value type- Parameters:
 type- the value typekeyFunction- the key function- Returns:
 - the key map
 - Since:
 - 4.0.0
 
 - 
create
@SafeVarargs @NotNull public static <K,V extends Enum<V>> @NotNull Index<K,V> create(Class<V> type, @NotNull @NotNull Function<? super V, ? extends K> keyFunction, @NotNull @NotNull V @NotNull ... values) Creates an index map.- Type Parameters:
 K- the key typeV- the value type- Parameters:
 type- the value typekeyFunction- the key functionvalues- the values- Returns:
 - the key map
 - Since:
 - 4.0.0
 
 - 
create
@SafeVarargs @NotNull public static <K,V> @NotNull Index<K,V> create(@NotNull @NotNull Function<? super V, ? extends K> keyFunction, @NotNull @NotNull V @NotNull ... values) Creates an index map.- Type Parameters:
 K- the key typeV- the value type- Parameters:
 keyFunction- the key functionvalues- the values- Returns:
 - the key map
 - Since:
 - 4.0.0
 
 - 
create
@NotNull public static <K,V> @NotNull Index<K,V> create(@NotNull @NotNull Function<? super V, ? extends K> keyFunction, @NotNull @NotNull List<V> constants) Creates an index map.- Type Parameters:
 K- the key typeV- the value type- Parameters:
 keyFunction- the key functionconstants- the constants- Returns:
 - the key map
 - Since:
 - 4.0.0
 
 - 
keys
Gets the keys.- Returns:
 - the keys
 - Since:
 - 4.0.0
 
 - 
key
Gets the key for a value.- Parameters:
 value- the value- Returns:
 - the key
 - Since:
 - 4.0.0
 
 - 
keyOrThrow
Gets the key for a value or throws an exception.- Parameters:
 value- the value- Returns:
 - the key
 - Throws:
 NoSuchElementException- if there is no key for the value- Since:
 - 4.11.0
 
 - 
keyOr
@Contract("_, null -> null; _, !null -> !null") public K keyOr(@NotNull V value, @Nullable K defaultKey) Gets a key by its value or returns a fallback key.- Parameters:
 value- the valuedefaultKey- the fallback key- Returns:
 - the key
 - Since:
 - 4.11.0
 
 - 
values
Gets the keys.- Returns:
 - the keys
 - Since:
 - 4.0.0
 
 - 
value
Gets a value by its key.- Parameters:
 key- the key- Returns:
 - the value
 - Since:
 - 4.0.0
 
 - 
valueOrThrow
Gets a value by its key.- Parameters:
 key- the key- Returns:
 - the value
 - Throws:
 NoSuchElementException- if there is no value for the key- Since:
 - 4.11.0
 
 - 
valueOr
@Contract("_, null -> null; _, !null -> !null") public V valueOr(@NotNull K key, @Nullable V defaultValue) Gets a value by its key or returns a fallback value.- Parameters:
 key- the keydefaultValue- the fallback value- Returns:
 - the value
 - Since:
 - 4.11.0
 
 - 
keyToValue
Get an unmodifiable mapping of index entries from key to value.- Returns:
 - a mapping from key to value in the index
 - Since:
 - 4.10.0
 
 - 
valueToKey
Get an unmodifiable mapping of index entries from value to key.- Returns:
 - a mapping from value to key in the index
 - Since:
 - 4.10.0
 
 
 -