Class ApplicationAspectMap

java.lang.Object
de.espirit.firstspirit.scheduling.aspects.ApplicationAspectMap

public class ApplicationAspectMap extends Object
Map for keeping application aspects in a type safe manner.
Since:
5.2.5
  • Constructor Details

    • ApplicationAspectMap

      public ApplicationAspectMap()
  • Method Details

    • put

      public <A, C extends A> void put(@NotNull @NotNull ApplicationAspectType<A> type, @NotNull C aspect)
      Put an aspect for specific type.
      Example:
      String aspect = ...;
      AspectType<CharSequence> type = ...;
      put(type, aspect);
      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.5
    • remove

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

      @Nullable public <A> A get(ApplicationAspectType<A> type)
      Get the correctly typed aspect for a type.
      Example
      AspectType<CharSequence> type = ...;
      CharSequence aspect = get(type);
      Type Parameters:
      A - The type of the aspect.
      Parameters:
      type - The aspect type to look up.
      Returns:
      The aspect implementation.
      Since:
      5.2.5