Polar Help

EventListenerRepository Interface

Introduction

The EventListenerRepository interface provides methods to register and unregister event listeners.

Methods

registerListener

<T extends PolarApiEvent> RegisteredListener<T> registerListener(Class<T> eventClass, Consumer<T> listener);

Description:

Registers a listener for the specified event class with NORMAL priority. Cancelled events are still delivered.

Parameters:

  • eventClass - The class of the event to listen for.

  • listener - The consumer that will handle the event.

Returns:

A RegisteredListener instance representing the registered listener.

registerListener (with priority)

<T extends PolarApiEvent> RegisteredListener<T> registerListener(Class<T> eventClass, Consumer<T> listener, ListenerPriority listenerPriority);

Description:

Registers a listener for the specified event class with the specified priority. Cancelled events are still delivered.

Parameters:

  • eventClass - The class of the event to listen for.

  • listener - The consumer that will handle the event.

  • listenerPriority - The ListenerPriority of the listener.

Returns:

A RegisteredListener instance representing the registered listener.

registerListener (with priority and ignoreCancelled)

<T extends PolarApiEvent> RegisteredListener<T> registerListener(Class<T> eventClass, Consumer<T> listener, ListenerPriority listenerPriority, boolean ignoreCancelled);

Description:

Registers a listener for the specified event class with the specified priority and ignoreCancelled setting.

Parameters:

  • eventClass - The class of the event to listen for.

  • listener - The consumer that will handle the event.

  • listenerPriority - The ListenerPriority of the listener.

  • ignoreCancelled - If true, the listener is not called for events that have already been cancelled.

Returns:

A RegisteredListener instance representing the registered listener.

unregisterListener

<T extends PolarApiEvent> void unregisterListener(RegisteredListener<T> registeredListener);

Description:

Unregisters a previously registered listener.

Parameters:

Example

RegisteredListener<DetectionAlertEvent> listener = api.events().repository().registerListener( DetectionAlertEvent.class, event -> getLogger().info(event.user().username() + " failed " + event.check().name()), ListenerPriority.RUN_LAST, true ); // later api.events().repository().unregisterListener(listener);