Class DefaultPacketListenerRegistry

java.lang.Object
eu.cloudnetservice.driver.impl.network.protocol.DefaultPacketListenerRegistry
All Implemented Interfaces:
eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry

public class DefaultPacketListenerRegistry extends Object implements eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
The default implementation of the packet listener registry.
Since:
4.0
  • Field Details

    • parent

      private final eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry parent
    • listeners

      private final com.google.common.collect.Multimap<Integer, eu.cloudnetservice.driver.network.protocol.PacketListener> listeners
  • Constructor Details

    • DefaultPacketListenerRegistry

      public DefaultPacketListenerRegistry()
      Constructs a new packet listener registry instance with no parent packet listener given. This call is equivalent to new DefaultPacketListenerRegistry(null).
    • DefaultPacketListenerRegistry

      public DefaultPacketListenerRegistry(@Nullable @Nullable eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry parent)
      Constructs a new packet listener registry instance.
      Parameters:
      parent - the parent registry or null if no parent registry should be set.
  • Method Details

    • parent

      @Nullable public @Nullable eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry parent()
      Specified by:
      parent in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • addListener

      public void addListener(int channel, @NonNull @NonNull Class<? extends eu.cloudnetservice.driver.network.protocol.PacketListener> listenerClass)
      Specified by:
      addListener in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • addListener

      public void addListener(int channel, @NonNull @NonNull eu.cloudnetservice.driver.network.protocol.PacketListener listener)
      Specified by:
      addListener in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • removeListener

      public void removeListener(int channel, @NonNull @NonNull eu.cloudnetservice.driver.network.protocol.PacketListener listener)
      Specified by:
      removeListener in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • removeListeners

      public void removeListeners(int channel)
      Specified by:
      removeListeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • removeListeners

      public void removeListeners(@NonNull @NonNull ClassLoader classLoader)
      Specified by:
      removeListeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • hasListeners

      public boolean hasListeners(int channel)
      Specified by:
      hasListeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • removeListeners

      public void removeListeners()
      Specified by:
      removeListeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • channels

      Specified by:
      channels in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • listeners

      @NonNull public @NonNull @UnmodifiableView Collection<eu.cloudnetservice.driver.network.protocol.PacketListener> listeners()
      Specified by:
      listeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • packetListeners

      @NonNull public @NonNull @UnmodifiableView Map<Integer, Collection<eu.cloudnetservice.driver.network.protocol.PacketListener>> packetListeners()
      Specified by:
      packetListeners in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry
    • handlePacket

      public boolean handlePacket(@NonNull @NonNull eu.cloudnetservice.driver.network.NetworkChannel channel, @NonNull @NonNull eu.cloudnetservice.driver.network.protocol.Packet packet)
      Specified by:
      handlePacket in interface eu.cloudnetservice.driver.network.protocol.PacketListenerRegistry