Class LoadingMap<K,V>
java.lang.Object
java.util.AbstractMap<K,V>
co.aikar.util.LoadingMap<K,V>
- Type Parameters:
K- KeyV- Value
- All Implemented Interfaces:
Map<K,V>
Deprecated, for removal: This API element is subject to removal in a future version.
Allows you to pass a Loader function that when a key is accessed that doesn't exists,
automatically loads the entry into the map by calling the loader Function.
.get() Will only return null if the Loader can return null.
You may pass any backing Map to use.
This class is not thread safe and should be wrapped with Collections.synchronizedMap on the OUTSIDE of the LoadingMap if needed.
Do not wrap the backing map with Collections.synchronizedMap.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classDeprecated, for removal: This API element is subject to removal in a future version.Due to java stuff, you will need to cast it to (Function) for some casesNested classes/interfaces inherited from class AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Deprecated, for removal: This API element is subject to removal in a future version.clone()Deprecated, for removal: This API element is subject to removal in a future version.booleancontainsKey(@Nullable Object key) Deprecated, for removal: This API element is subject to removal in a future version.booleancontainsValue(@Nullable Object value) Deprecated, for removal: This API element is subject to removal in a future version.entrySet()Deprecated, for removal: This API element is subject to removal in a future version.booleanDeprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.inthashCode()Deprecated, for removal: This API element is subject to removal in a future version.booleanisEmpty()Deprecated, for removal: This API element is subject to removal in a future version.keySet()Deprecated, for removal: This API element is subject to removal in a future version.newAutoMap(@NotNull Map<K, V> backingMap, @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.Creates a LoadingMap with an auto instantiating loader.newAutoMap(@NotNull Map<K, V> backingMap, @Nullable Class<? extends K> keyClass, @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.Creates a LoadingMap with an auto instantiating loader.newHashAutoMap(@NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.newHashAutoMap(@NotNull Class<? extends V> valueClass, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.newHashAutoMap(@Nullable Class<? extends K> keyClass, @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.newHashAutoMap(@Nullable Class<? extends K> keyClass, @NotNull Class<? extends V> valueClass, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.newHashMap(@NotNull Function<K, V> loader) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMapnewHashMap(@NotNull Function<K, V> loader, int initialCapacity) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMapnewHashMap(@NotNull Function<K, V> loader, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMapnewIdentityHashMap(@NotNull Function<K, V> loader) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using an Identity HashMapnewIdentityHashMap(@NotNull Function<K, V> loader, int initialCapacity) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using an Identity HashMapDeprecated, for removal: This API element is subject to removal in a future version.Creates a new LoadingMap with the specified map and loaderDeprecated, for removal: This API element is subject to removal in a future version.voidDeprecated, for removal: This API element is subject to removal in a future version.Deprecated, for removal: This API element is subject to removal in a future version.intsize()Deprecated, for removal: This API element is subject to removal in a future version.values()Deprecated, for removal: This API element is subject to removal in a future version.Methods inherited from class AbstractMap
toStringMethods inherited from interface Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
LoadingMap
-
-
Method Details
-
of
@NotNull public static <K,V> @NotNull Map<K,V> of(@NotNull @NotNull Map<K, V> backingMap, @NotNull @NotNull Function<K, V> loader) Deprecated, for removal: This API element is subject to removal in a future version.Creates a new LoadingMap with the specified map and loader- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
backingMap- Actual map being used.loader- Loader to use- Returns:
- Map
-
newAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newAutoMap(@NotNull @NotNull Map<K, V> backingMap, @Nullable @Nullable Class<? extends K> keyClass, @NotNull @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.Creates a LoadingMap with an auto instantiating loader. Will auto construct class of Value when not found Since this uses Reflection, It is more efficient to define your own static loader than using this helper, but if performance is not critical, this is easier.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
backingMap- Actual map being used.keyClass- Class used for the K genericvalueClass- Class used for the V generic- Returns:
- Map that auto instantiates on .get()
-
newAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newAutoMap(@NotNull @NotNull Map<K, V> backingMap, @NotNull @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.Creates a LoadingMap with an auto instantiating loader. Will auto construct class of Value when not found Since this uses Reflection, It is more efficient to define your own static loader than using this helper, but if performance is not critical, this is easier.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
backingMap- Actual map being used.valueClass- Class used for the V generic- Returns:
- Map that auto instantiates on .get()
-
newHashAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashAutoMap(@Nullable @Nullable Class<? extends K> keyClass, @NotNull @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
keyClass- Class used for the K genericvalueClass- Class used for the V generic- Returns:
- Map that auto instantiates on .get()
- See Also:
-
newHashAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashAutoMap(@NotNull @NotNull Class<? extends V> valueClass) Deprecated, for removal: This API element is subject to removal in a future version.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
valueClass- Class used for the V generic- Returns:
- Map that auto instantiates on .get()
- See Also:
-
newHashAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashAutoMap(@Nullable @Nullable Class<? extends K> keyClass, @NotNull @NotNull Class<? extends V> valueClass, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
keyClass- Class used for the K genericvalueClass- Class used for the V genericinitialCapacity- Initial capacity to useloadFactor- Load factor to use- Returns:
- Map that auto instantiates on .get()
- See Also:
-
newHashAutoMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashAutoMap(@NotNull @NotNull Class<? extends V> valueClass, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
valueClass- Class used for the V genericinitialCapacity- Initial capacity to useloadFactor- Load factor to use- Returns:
- Map that auto instantiates on .get()
- See Also:
-
newHashMap
Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMap- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
loader- Loader to use- Returns:
- Map
-
newHashMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashMap(@NotNull @NotNull Function<K, V> loader, int initialCapacity) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMap- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
loader- Loader to useinitialCapacity- Initial capacity to use- Returns:
- Map
-
newHashMap
@NotNull public static <K,V> @NotNull Map<K,V> newHashMap(@NotNull @NotNull Function<K, V> loader, int initialCapacity, float loadFactor) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using a HashMap- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
loader- Loader to useinitialCapacity- Initial capacity to useloadFactor- Load factor to use- Returns:
- Map
-
newIdentityHashMap
@NotNull public static <K,V> @NotNull Map<K,V> newIdentityHashMap(@NotNull @NotNull Function<K, V> loader) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using an Identity HashMap- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
loader- Loader to use- Returns:
- Map
-
newIdentityHashMap
@NotNull public static <K,V> @NotNull Map<K,V> newIdentityHashMap(@NotNull @NotNull Function<K, V> loader, int initialCapacity) Deprecated, for removal: This API element is subject to removal in a future version.Initializes an auto loading map using an Identity HashMap- Type Parameters:
K- Key Type of the MapV- Value Type of the Map- Parameters:
loader- Loader to useinitialCapacity- Initial capacity to use- Returns:
- Map
-
size
-
isEmpty
-
containsKey
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
containsKeyin interfaceMap<K,V> - Overrides:
containsKeyin classAbstractMap<K,V>
-
containsValue
Deprecated, for removal: This API element is subject to removal in a future version.- Specified by:
containsValuein interfaceMap<K,V> - Overrides:
containsValuein classAbstractMap<K,V>
-
get
-
put
-
remove
-
putAll
-
clear
-
keySet
-
values
-
equals
-
hashCode
-
entrySet
-
clone
Deprecated, for removal: This API element is subject to removal in a future version.- Overrides:
clonein classAbstractMap<K,V>
-