Package org.bukkit.plugin.messaging
Class StandardMessenger
java.lang.Object
org.bukkit.plugin.messaging.StandardMessenger
- All Implemented Interfaces:
Messenger
public class StandardMessenger extends java.lang.Object implements Messenger
Standard implementation to
Messenger
-
Field Summary
Fields inherited from interface org.bukkit.plugin.messaging.Messenger
MAX_CHANNEL_SIZE, MAX_MESSAGE_SIZE
-
Constructor Summary
Constructors Constructor Description StandardMessenger()
-
Method Summary
Modifier and Type Method Description void
dispatchIncomingMessage(Player source, java.lang.String channel, byte[] message)
Dispatches the specified incoming message to any registered listeners.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.java.util.Set<PluginMessageListenerRegistration>
getIncomingChannelRegistrations(Plugin plugin)
Gets a set containing all the incoming plugin channel registrations that the specified plugin has.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.java.util.Set<java.lang.String>
getIncomingChannels()
Gets a set containing all the incoming plugin channels.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.java.util.Set<java.lang.String>
getOutgoingChannels()
Gets a set containing all the outgoing plugin channels.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.boolean
isIncomingChannelRegistered(Plugin plugin, java.lang.String channel)
Checks if the specified plugin has registered to receive incoming messages through the requested channel.boolean
isOutgoingChannelRegistered(Plugin plugin, java.lang.String channel)
Checks if the specified plugin has registered to send outgoing messages through the requested channel.boolean
isRegistrationValid(PluginMessageListenerRegistration registration)
Checks if the specified plugin message listener registration is valid.boolean
isReservedChannel(java.lang.String channel)
Checks if the specified channel is a reserved name.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.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.void
unregisterIncomingPluginChannel(Plugin plugin)
Unregisters the specific plugin from listening on all plugin channels through all listeners.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.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.void
unregisterOutgoingPluginChannel(Plugin plugin)
Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.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.static void
validateChannel(java.lang.String channel)
Validates a Plugin Channel name.static void
validatePluginMessage(Messenger messenger, Plugin source, java.lang.String channel, byte[] message)
Validates the input of a Plugin Message, ensuring the arguments are all valid.
-
Constructor Details
-
StandardMessenger
public StandardMessenger()
-
-
Method Details
-
isReservedChannel
public boolean isReservedChannel(java.lang.String channel)Description copied from interface:Messenger
Checks if the specified channel is a reserved name.- Specified by:
isReservedChannel
in interfaceMessenger
- Parameters:
channel
- Channel name to check.- Returns:
- True if the channel is reserved, otherwise false.
-
registerOutgoingPluginChannel
Description copied from interface:Messenger
Registers the specific plugin to the requested outgoing plugin channel, allowing it to send messages through that channel to any clients.- Specified by:
registerOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to send messages through the channel.channel
- Channel to register.
-
unregisterOutgoingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from the requested outgoing plugin channel, no longer allowing it to send messages through that channel to any clients.- Specified by:
unregisterOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that no longer wishes to send messages through the channel.channel
- Channel to unregister.
-
unregisterOutgoingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from all outgoing plugin channels, no longer allowing it to send any plugin messages.- Specified by:
unregisterOutgoingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that no longer wishes to send plugin messages.
-
registerIncomingPluginChannel
public PluginMessageListenerRegistration registerIncomingPluginChannel(Plugin plugin, java.lang.String channel, PluginMessageListener listener)Description copied from interface:Messenger
Registers the specific plugin for listening on the requested incoming plugin channel, allowing it to act upon any plugin messages.- Specified by:
registerIncomingPluginChannel
in interfaceMessenger
- 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.
-
unregisterIncomingPluginChannel
public void unregisterIncomingPluginChannel(Plugin plugin, java.lang.String channel, PluginMessageListener listener)Description copied from interface:Messenger
Unregisters the specific plugin's listener from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.channel
- Channel to unregister.listener
- Listener to stop receiving messages on.
-
unregisterIncomingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from listening on the requested incoming plugin channel, no longer allowing it to act upon any plugin messages.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.channel
- Channel to unregister.
-
unregisterIncomingPluginChannel
Description copied from interface:Messenger
Unregisters the specific plugin from listening on all plugin channels through all listeners.- Specified by:
unregisterIncomingPluginChannel
in interfaceMessenger
- Parameters:
plugin
- Plugin that wishes to unregister from this channel.
-
getOutgoingChannels
public java.util.Set<java.lang.String> getOutgoingChannels()Description copied from interface:Messenger
Gets a set containing all the outgoing plugin channels.- Specified by:
getOutgoingChannels
in interfaceMessenger
- Returns:
- List of all registered outgoing plugin channels.
-
getOutgoingChannels
Description copied from interface:Messenger
Gets a set containing all the outgoing plugin channels that the specified plugin is registered to.- Specified by:
getOutgoingChannels
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve channels for.- Returns:
- List of all registered outgoing plugin channels that a plugin is registered to.
-
getIncomingChannels
public java.util.Set<java.lang.String> getIncomingChannels()Description copied from interface:Messenger
Gets a set containing all the incoming plugin channels.- Specified by:
getIncomingChannels
in interfaceMessenger
- Returns:
- List of all registered incoming plugin channels.
-
getIncomingChannels
Description copied from interface:Messenger
Gets a set containing all the incoming plugin channels that the specified plugin is registered for.- Specified by:
getIncomingChannels
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve channels for.- Returns:
- List of all registered incoming plugin channels that the plugin is registered for.
-
getIncomingChannelRegistrations
public java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(Plugin plugin)Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that the specified plugin has.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve registrations for.- Returns:
- List of all registrations that the plugin has.
-
getIncomingChannelRegistrations
public java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(java.lang.String channel)Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that are on the requested channel.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
channel
- Channel to retrieve registrations for.- Returns:
- List of all registrations that are on the channel.
-
getIncomingChannelRegistrations
public java.util.Set<PluginMessageListenerRegistration> getIncomingChannelRegistrations(Plugin plugin, java.lang.String channel)Description copied from interface:Messenger
Gets a set containing all the incoming plugin channel registrations that the specified plugin has on the requested channel.- Specified by:
getIncomingChannelRegistrations
in interfaceMessenger
- Parameters:
plugin
- Plugin to retrieve registrations for.channel
- Channel to filter registrations by.- Returns:
- List of all registrations that the plugin has.
-
isRegistrationValid
Description copied from interface:Messenger
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.
- Specified by:
isRegistrationValid
in interfaceMessenger
- Parameters:
registration
- Registration to check.- Returns:
- True if the registration is valid, otherwise false.
-
isIncomingChannelRegistered
Description copied from interface:Messenger
Checks if the specified plugin has registered to receive incoming messages through the requested channel.- Specified by:
isIncomingChannelRegistered
in interfaceMessenger
- Parameters:
plugin
- Plugin to check registration for.channel
- Channel to test for.- Returns:
- True if the channel is registered, else false.
-
isOutgoingChannelRegistered
Description copied from interface:Messenger
Checks if the specified plugin has registered to send outgoing messages through the requested channel.- Specified by:
isOutgoingChannelRegistered
in interfaceMessenger
- Parameters:
plugin
- Plugin to check registration for.channel
- Channel to test for.- Returns:
- True if the channel is registered, else false.
-
dispatchIncomingMessage
Description copied from interface:Messenger
Dispatches the specified incoming message to any registered listeners.- Specified by:
dispatchIncomingMessage
in interfaceMessenger
- Parameters:
source
- Source of the message.channel
- Channel that the message was sent by.message
- Raw payload of the message.
-
validateChannel
public static void validateChannel(java.lang.String channel)Validates a Plugin Channel name.- Parameters:
channel
- Channel name to validate.
-
validatePluginMessage
public static void validatePluginMessage(Messenger messenger, Plugin source, java.lang.String channel, byte[] message)Validates the input of a Plugin Message, ensuring the arguments are all valid.- Parameters:
messenger
- Messenger to use for validation.source
- Source plugin of the Message.channel
- Plugin Channel to send the message by.message
- Raw message payload to send.- Throws:
java.lang.IllegalArgumentException
- Thrown if the source plugin is disabled.java.lang.IllegalArgumentException
- Thrown if source, channel or message is null.MessageTooLargeException
- Thrown if the message is too big.ChannelNameTooLongException
- Thrown if the channel name is too long.ChannelNotRegisteredException
- Thrown if the channel is not registered for this plugin.
-