java.lang.Object
io.github.thecsdev.tcdcommons.api.util.collections.HookedMap<K,V>
All Implemented Interfaces:
Map<K,V>

public final class HookedMap<K,V> extends Object implements Map<K,V>
  • Method Details

    • of

      public static <K, V> Map<K,V> of(Map<K,V> map, Consumer<Map<K,V>> accessHook)
      Creates and returns a new HookedMap instance that is based on another Map.
      Type Parameters:
      K - The Map key type.
      V - The Map value type.
      Parameters:
      map - The Map to "hook".
      accessHook - The "hook" that will be invoked upon accessing the Map.
    • get

      public final V get(Object key)
      Specified by:
      get in interface Map<K,V>
    • put

      public final V put(K key, V value)
      Specified by:
      put in interface Map<K,V>
    • size

      public final int size()
      Specified by:
      size in interface Map<K,V>
    • isEmpty

      public final boolean isEmpty()
      Specified by:
      isEmpty in interface Map<K,V>
    • containsKey

      public final boolean containsKey(Object key)
      Specified by:
      containsKey in interface Map<K,V>
    • containsValue

      public final boolean containsValue(Object value)
      Specified by:
      containsValue in interface Map<K,V>
    • putAll

      public final void putAll(Map<? extends K,? extends V> m)
      Specified by:
      putAll in interface Map<K,V>
    • remove

      public final V remove(Object key)
      Specified by:
      remove in interface Map<K,V>
    • clear

      public final void clear()
      Specified by:
      clear in interface Map<K,V>
    • keySet

      public final Set<K> keySet()
      Specified by:
      keySet in interface Map<K,V>
    • values

      public final Collection<V> values()
      Specified by:
      values in interface Map<K,V>
    • entrySet

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