Interface Messenger

All Known Implementing Classes:
StandardMessenger

public interface Messenger
A class responsible for managing the registrations of plugin channels and their listeners.
  • Field Details

  • Method Details

    • isReservedChannel

      boolean isReservedChannel​(java.lang.String channel)
      Checks if the specified channel is a reserved name.
      Parameters:
      channel - Channel name to check.
      Returns:
      True if the channel is reserved, otherwise false.
      Throws:
      java.lang.IllegalArgumentException - Thrown if channel is null.
    • registerOutgoingPluginChannel

      void registerOutgoingPluginChannel​(Plugin plugin, java.lang.String channel)
      Registers the specific plugin to the requested outgoing plugin channel, allowing it to send messages through that channel to any clients.
      Parameters:
      plugin - Plugin that wishes to send messages through the channel.
      channel - Channel to register.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin or channel is null.
    • unregisterOutgoingPluginChannel

      void unregisterOutgoingPluginChannel​(Plugin plugin, java.lang.String channel)
      Unregisters the specific plugin from the requested outgoing plugin channel, no longer allowing it to send messages through that channel to any clients.
      Parameters:
      plugin - Plugin that no longer wishes to send messages through the channel.
      channel - Channel to unregister.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin or channel is null.
    • unregisterOutgoingPluginChannel

      void unregisterOutgoingPluginChannel​(Plugin plugin)
      Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.
      Parameters:
      plugin - Plugin that no longer wishes to send plugin messages.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin is null.
    • registerIncomingPluginChannel

      PluginMessageListenerRegistration registerIncomingPluginChannel​(Plugin plugin, java.lang.String channel, PluginMessageListener listener)
      Registers the specific plugin for listening on the requested incoming plugin channel, allowing it to act upon any plugin messages.
      Parameters:
      plugin - Plugin that wishes to register to this channel.
      channel - Channel to register.
      listener - Listener to receive messages on.
      Returns:
      The resulting registration that was made as a result of this method.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin, channel or listener is null, or the listener is already registered for this channel.
    • unregisterIncomingPluginChannel

      void unregisterIncomingPluginChannel​(Plugin plugin, java.lang.String channel, PluginMessageListener listener)
      Unregisters the specific plugin's listener from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.
      Parameters:
      plugin - Plugin that wishes to unregister from this channel.
      channel - Channel to unregister.
      listener - Listener to stop receiving messages on.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin, channel or listener is null.
    • unregisterIncomingPluginChannel

      void unregisterIncomingPluginChannel​(Plugin plugin, java.lang.String channel)
      Unregisters the specific plugin from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.
      Parameters:
      plugin - Plugin that wishes to unregister from this channel.
      channel - Channel to unregister.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin or channel is null.
    • unregisterIncomingPluginChannel

      void unregisterIncomingPluginChannel​(Plugin plugin)
      Unregisters the specific plugin from listening on all plugin channels through all listeners.
      Parameters:
      plugin - Plugin that wishes to unregister from this channel.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin is null.
    • getOutgoingChannels

      java.util.Set<java.lang.String> getOutgoingChannels()
      Gets a set containing all the outgoing plugin channels.
      Returns:
      List of all registered outgoing plugin channels.
    • getOutgoingChannels

      java.util.Set<java.lang.String> getOutgoingChannels​(Plugin plugin)
      Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.
      Parameters:
      plugin - Plugin to retrieve channels for.
      Returns:
      List of all registered outgoing plugin channels that a plugin is registered to.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin is null.
    • getIncomingChannels

      java.util.Set<java.lang.String> getIncomingChannels()
      Gets a set containing all the incoming plugin channels.
      Returns:
      List of all registered incoming plugin channels.
    • getIncomingChannels

      java.util.Set<java.lang.String> getIncomingChannels​(Plugin plugin)
      Gets a set containing all the incoming plugin channels that the specified plugin is registered for.
      Parameters:
      plugin - Plugin to retrieve channels for.
      Returns:
      List of all registered incoming plugin channels that the plugin is registered for.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin is null.
    • getIncomingChannelRegistrations

      java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations​(Plugin plugin)
      Gets a set containing all the incoming plugin channel registrations that the specified plugin has.
      Parameters:
      plugin - Plugin to retrieve registrations for.
      Returns:
      List of all registrations that the plugin has.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin is null.
    • getIncomingChannelRegistrations

      java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations​(java.lang.String channel)
      Gets a set containing all the incoming plugin channel registrations that are on the requested channel.
      Parameters:
      channel - Channel to retrieve registrations for.
      Returns:
      List of all registrations that are on the channel.
      Throws:
      java.lang.IllegalArgumentException - Thrown if channel is null.
    • getIncomingChannelRegistrations

      java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations​(Plugin plugin, java.lang.String channel)
      Gets a set containing all the incoming plugin channel registrations that the specified plugin has on the requested channel.
      Parameters:
      plugin - Plugin to retrieve registrations for.
      channel - Channel to filter registrations by.
      Returns:
      List of all registrations that the plugin has.
      Throws:
      java.lang.IllegalArgumentException - Thrown if plugin or channel is null.
    • isRegistrationValid

      boolean isRegistrationValid​(PluginMessageListenerRegistration registration)
      Checks if the specified plugin message listener registration is valid.

      A registration is considered valid if it has not be unregistered and that the plugin is still enabled.

      Parameters:
      registration - Registration to check.
      Returns:
      True if the registration is valid, otherwise false.
    • isIncomingChannelRegistered

      boolean isIncomingChannelRegistered​(Plugin plugin, java.lang.String channel)
      Checks if the specified plugin has registered to receive incoming messages through the requested channel.
      Parameters:
      plugin - Plugin to check registration for.
      channel - Channel to test for.
      Returns:
      True if the channel is registered, else false.
    • isOutgoingChannelRegistered

      boolean isOutgoingChannelRegistered​(Plugin plugin, java.lang.String channel)
      Checks if the specified plugin has registered to send outgoing messages through the requested channel.
      Parameters:
      plugin - Plugin to check registration for.
      channel - Channel to test for.
      Returns:
      True if the channel is registered, else false.
    • dispatchIncomingMessage

      void dispatchIncomingMessage​(Player source, java.lang.String channel, byte[] message)
      Dispatches the specified incoming message to any registered listeners.
      Parameters:
      source - Source of the message.
      channel - Channel that the message was sent by.
      message - Raw payload of the message.