java.lang.Object
ua.mcchickenstudio.opencreative.managers.Managers

public final class Managers extends Object

Managers

This class represents registry of managers.
  • Constructor Details

    • Managers

      public Managers()
  • Method Details

    • register

      public <T extends Manager> void register(@NotNull @NotNull Class<T> type, @NotNull T manager)
      Registers manager, or replaces existing with new.
      Type Parameters:
      T - manager type.
      Parameters:
      type - type of manager.
      manager - manager instance.
    • registerIfAbsent

      public <T extends Manager> void registerIfAbsent(@NotNull @NotNull Class<T> type, @NotNull T manager)
      Registers manager only if it still not registered yet.
      Type Parameters:
      T - manager type.
      Parameters:
      type - type of manager.
      manager - manager instance.
    • get

      public <T extends Manager> T get(@NotNull @NotNull Class<T> type)
      Returns instance of manager.
      Type Parameters:
      T - manager type.
      Parameters:
      type - type of manager.
      Returns:
      manager instance.
    • all

      @NotNull public @NotNull Collection<Manager> all()
      Returns collection of all managers.
      Returns:
      collection of all managers.
    • start

      @SafeVarargs public final void start(@NotNull @NotNull Class<? extends Manager>... managers)
      Starts specified managers.
      Parameters:
      managers - managers to start.
    • shutdown

      @SafeVarargs public final void shutdown(@NotNull @NotNull Class<? extends Manager>... managers)
      Shutdowns specified managers.
      Parameters:
      managers - managers to shut down.