Class DefaultRegisteredEventListener

java.lang.Object
eu.cloudnetservice.driver.impl.event.DefaultRegisteredEventListener
All Implemented Interfaces:
eu.cloudnetservice.driver.event.RegisteredEventListener, Comparable<eu.cloudnetservice.driver.event.RegisteredEventListener>

final class DefaultRegisteredEventListener extends Object implements eu.cloudnetservice.driver.event.RegisteredEventListener
The default implementation of a registered event listener.
Since:
4.0
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • instance

      private final Object instance
    • eventClass

      private final Class<?> eventClass
    • eventListener

      private final eu.cloudnetservice.driver.event.EventListener eventListener
    • methodName

      private final String methodName
    • methodArguments

      private final BindingKey<?>[] methodArguments
    • methodAccessor

      private final dev.derklaro.reflexion.MethodAccessor<?> methodAccessor
    • injectionLayer

      private final eu.cloudnetservice.driver.inject.InjectionLayer<?> injectionLayer
  • Constructor Details

    • DefaultRegisteredEventListener

      DefaultRegisteredEventListener(@NonNull @NonNull Object instance, @NonNull @NonNull Method targetMethod, @NonNull @NonNull eu.cloudnetservice.driver.event.EventListener eventListener, @NonNull @NonNull eu.cloudnetservice.driver.inject.InjectionLayer<?> injectionLayer)
      Constructs a new default registered event listener instance.
      Parameters:
      instance - the instance all event listener methods should get called on.
      targetMethod - the method of the event listener.
      eventListener - the annotation used to identify the target method.
      injectionLayer - the injection layer to use when additional parameters are present on the target method.
      Throws:
      NullPointerException - if one of the given arguments is null.
  • Method Details

    • fireEvent

      public void fireEvent(@NonNull @NonNull eu.cloudnetservice.driver.event.Event event)
      Specified by:
      fireEvent in interface eu.cloudnetservice.driver.event.RegisteredEventListener
    • channel

      @NonNull public @NonNull String channel()
      Specified by:
      channel in interface eu.cloudnetservice.driver.event.RegisteredEventListener
    • order

      @NonNull public @NonNull eu.cloudnetservice.driver.event.InvocationOrder order()
      Specified by:
      order in interface eu.cloudnetservice.driver.event.RegisteredEventListener
    • instance

      @NonNull public @NonNull Object instance()
      Specified by:
      instance in interface eu.cloudnetservice.driver.event.RegisteredEventListener
    • eventClass

      @NonNull public @NonNull Class<?> eventClass()
      Specified by:
      eventClass in interface eu.cloudnetservice.driver.event.RegisteredEventListener
    • eventListener

      @NonNull public @NonNull eu.cloudnetservice.driver.event.EventListener eventListener()
      Specified by:
      eventListener in interface eu.cloudnetservice.driver.event.RegisteredEventListener