diff options
Diffstat (limited to 'base/src/main/java/bjc/utils/funcdata/IMap.java')
| -rw-r--r-- | base/src/main/java/bjc/utils/funcdata/IMap.java | 82 |
1 files changed, 36 insertions, 46 deletions
diff --git a/base/src/main/java/bjc/utils/funcdata/IMap.java b/base/src/main/java/bjc/utils/funcdata/IMap.java index 35dc64b..9449898 100644 --- a/base/src/main/java/bjc/utils/funcdata/IMap.java +++ b/base/src/main/java/bjc/utils/funcdata/IMap.java @@ -10,17 +10,17 @@ import java.util.function.Function; * @author ben * * @param <KeyType> - * The type of this map's keys. + * The type of this map's keys. * * @param <ValueType> - * The type of this map's values. + * The type of this map's values. */ public interface IMap<KeyType, ValueType> { /** * Execute an action for each entry in the map. * * @param action - * The action to execute for each entry in the map. + * The action to execute for each entry in the map. */ void forEach(BiConsumer<KeyType, ValueType> action); @@ -28,7 +28,7 @@ public interface IMap<KeyType, ValueType> { * Perform an action for each key in the map. * * @param action - * The action to perform on each key in the map. + * The action to perform on each key in the map. */ default void forEachKey(final Consumer<KeyType> action) { forEach((key, val) -> action.accept(key)); @@ -38,7 +38,7 @@ public interface IMap<KeyType, ValueType> { * Perform an action for each value in the map. * * @param action - * The action to perform on each value in the map. + * The action to perform on each value in the map. */ default void forEachValue(final Consumer<ValueType> action) { forEach((key, val) -> action.accept(val)); @@ -48,10 +48,9 @@ public interface IMap<KeyType, ValueType> { * Check if this map contains the specified key. * * @param key - * The key to check. + * The key to check. * - * @return - * Whether or not the map contains the key. + * @return Whether or not the map contains the key. */ boolean containsKey(KeyType key); @@ -59,10 +58,9 @@ public interface IMap<KeyType, ValueType> { * Get the value assigned to the given key. * * @param key - * The key to look for a value under. + * The key to look for a value under. * - * @return - * The value of the key. + * @return The value of the key. */ ValueType get(KeyType key); @@ -71,14 +69,13 @@ public interface IMap<KeyType, ValueType> { * doesn't exist. * * @param key - * The key to attempt to retrieve. + * The key to attempt to retrieve. * * @param defaultValue - * The value to return if the key doesn't exist. + * The value to return if the key doesn't exist. * - * @return - * The value associated with the key, or the default value if the - * key doesn't exist. + * @return The value associated with the key, or the default value if + * the key doesn't exist. */ default ValueType getOrDefault(final KeyType key, final ValueType defaultValue) { try { @@ -96,18 +93,17 @@ public interface IMap<KeyType, ValueType> { * Add an entry to the map. * * @param key - * The key to put the value under. + * The key to put the value under. * * @param val - * The value to add. + * The value to add. * - * @return - * The previous value of the key in the map, or null if the key - * wasn't in the map. However, note that it may also return null if - * the key was set to null. + * @return The previous value of the key in the map, or null if the key + * wasn't in the map. However, note that it may also return null + * if the key was set to null. * * @throws UnsupportedOperationException - * If the map implementation doesn't support modifying the map. + * If the map implementation doesn't support modifying the map. */ ValueType put(KeyType key, ValueType val); @@ -119,17 +115,16 @@ public interface IMap<KeyType, ValueType> { /** * Get the number of entries in this map. * - * @return - * The number of entries in this map. + * @return The number of entries in this map. */ default int size() { return keyList().getSize(); } - /* @NOTE - * Do we want this to be the semantics for transform, or do we want - * to go to semantics using something like Isomorphism, or doing a - * one-time bulk conversion of the values? + /* + * @NOTE Do we want this to be the semantics for transform, or do we + * want to go to semantics using something like Isomorphism, or doing a + * one-time bulk conversion of the values? */ /** * Transform the values returned by this map. @@ -139,13 +134,12 @@ public interface IMap<KeyType, ValueType> { * likely not work as expected. * * @param <V2> - * The new type of returned values. + * The new type of returned values. * * @param transformer - * The function to use to transform values. + * The function to use to transform values. * - * @return - * The map where each value will be transformed after lookup. + * @return The map where each value will be transformed after lookup. */ default <V2> IMap<KeyType, V2> transform(final Function<ValueType, V2> transformer) { return new TransformedValueMap<>(this, transformer); @@ -155,8 +149,7 @@ public interface IMap<KeyType, ValueType> { * Extends this map, creating a new map that will delegate queries to * the map, but store any added values itself. * - * @return - * An extended map. + * @return An extended map. */ IMap<KeyType, ValueType> extend(); @@ -164,34 +157,31 @@ public interface IMap<KeyType, ValueType> { * Remove the value bound to the key. * * @param key - * The key to remove from the map. + * The key to remove from the map. * - * @return - * The previous value for the key in the map, or null if the key - * wasn't in the class. NOTE: Just because you received null, - * doesn't mean the map wasn't changed. It may mean that someone - * put a null value for that key into the map. + * @return The previous value for the key in the map, or null if the key + * wasn't in the class. NOTE: Just because you received null, + * doesn't mean the map wasn't changed. It may mean that someone + * put a null value for that key into the map. */ ValueType remove(KeyType key); /** * Get a list of all the keys in this map. * - * @return - * A list of all the keys in this map. + * @return A list of all the keys in this map. */ IList<KeyType> keyList(); /** * Get a list of the values in this map. * - * @return - * A list of values in this map. + * @return A list of values in this map. */ default IList<ValueType> valueList() { final IList<ValueType> returns = new FunctionalList<>(); - for (final KeyType key : keyList()) { + for(final KeyType key : keyList()) { returns.add(get(key)); } |
