Interface TypeSafeMap

All Superinterfaces:
Iterable<Map.Entry<Key<?>,Object>>

@Immutable public interface TypeSafeMap extends Iterable<Map.Entry<Key<?>,Object>>
A map that is type safe, i.e. the pairs (key, value) are type-checked. It's immutable.
Author:
Fabrizio Giudici
  • Method Details

    • get

      @Nonnull @Deprecated <T> T get(@Nonnull Key<T> key) throws NotFoundException
      Deprecated.
      Use getOptional(Key) instead
      Returns a value given its key.
      Type Parameters:
      T - the type
      Parameters:
      key - the key
      Returns:
      the value
      Throws:
      NotFoundException - if the key is not found
    • getOptional

      @Nonnull default <T> Optional<T> getOptional(@Nonnull Key<? extends T> key)
      Returns an optional value given its key.
      Type Parameters:
      T - the type
      Parameters:
      key - the key
      Returns:
      the value
      Since:
      3.2-ALPHA-1
    • containsKey

      boolean containsKey(@Nonnull Key<?> key)
      Checks whether a pair has been stored.
      Parameters:
      key - the key
      Returns:
      true if the pair is present
    • keySet

      @Nonnull Set<Key<?>> keySet()
      Returns a set of all the contained keys.
      Returns:
      the keys as a mutable set
    • values

      @Nonnull Collection<Object> values()
      Returns a set of all the contained values.
      Returns:
      the values as a mutable collection
      Since:
      3.2-ALPHA-6
    • entrySet

      @Nonnull Set<Map.Entry<Key<?>,Object>> entrySet()
      Returns a set of all the contained (key, value) pairs.
      Returns:
      the pairs as a mutable collection
      Since:
      3.2-ALPHA-6
    • size

      @Nonnegative int size()
      Returns the size of this map.
      Returns:
      the size
    • asMap

      @Nonnull Map<Key<?>,Object> asMap()
      Returns the contents as a plain Map.
      Returns:
      the contents as a mutable map
    • forEach

      <T> void forEach(@Nonnull BiConsumer<? super Key<T>,? super T> action)
      Performs the given action on all the pairs (key, value) contained in this map.
      Type Parameters:
      T - the value type
      Parameters:
      action - the action
      Since:
      3.2-ALPHA-10
    • with

      @Nonnull <T> TypeSafeMap with(@Nonnull Key<T> key, @Nonnull T value)
      Create a new instance with an additional pair (key, value=
      Type Parameters:
      T - the type
      Parameters:
      key - the key
      value - the value
      Returns:
      the new instance
      Since:
      3.2-ALPHA-2
    • newInstance

      @Nonnull static TypeSafeMap newInstance()
      Creates a new empty instance.
      Returns:
      the new instance
      Since:
      3.2-ALPHA-2
    • ofCloned

      @Nonnull static TypeSafeMap ofCloned(@Nonnull Map<? extends Key<?>,Object> map)
      Creates an instance cloning the given map.
      Parameters:
      map - the map to clone
      Returns:
      the new instance
      Since:
      3.2-ALPHA-2