Class StreamBuilderAspectMap

java.lang.Object
de.espirit.firstspirit.client.plugin.dataaccess.aspects.StreamBuilderAspectMap

public class StreamBuilderAspectMap extends Object
Map for keeping stream building aspects in a type safe manner.
Since:
5.2.21
  • Constructor Details

    • StreamBuilderAspectMap

      public StreamBuilderAspectMap()
  • Method Details

    • put

      public final <A, C extends A> void put(@NotNull @NotNull StreamBuilderAspectType<A> type, @NotNull C aspect)
      Put an aspect for specific type.
      Type Parameters:
      A - The type of the aspect.
      C - The concrete implementation type of the aspect.
      Parameters:
      type - The aspect type.
      aspect - The aspect implementation.
      Since:
      5.2.21
    • remove

      public final void remove(StreamBuilderAspectType<?> type)
      Remove the aspect for the given type from this map.
      Parameters:
      type - The aspect type.
      Since:
      5.2.21
    • get

      @Nullable public final <A> A get(StreamBuilderAspectType<A> type)
      Get the correctly typed aspect for a type.
      Type Parameters:
      A - The type of the aspect.
      Parameters:
      type - The aspect type to look up.
      Returns:
      The aspect implementation.
      Since:
      5.2.21