org.apache.commons.net

## Class ProtocolCommandSupport

- java.lang.Object
- - org.apache.commons.net.ProtocolCommandSupport

- All Implemented Interfaces:
    Serializable

      public class ProtocolCommandSupport
      extends Object
      implements Serializable

  ProtocolCommandSupport is a convenience class for managing a list of ProtocolCommandListeners and firing ProtocolCommandEvents. You can simply delegate ProtocolCommandEvent firing and listener registering/unregistering tasks to this class.
  See Also:
    `ProtocolCommandEvent`, `ProtocolCommandListener`, Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ProtocolCommandSupport(Object source)` Creates a ProtocolCommandSupport instance using the indicated source as the source of ProtocolCommandEvents.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addProtocolCommandListener(ProtocolCommandListener listener)` Adds a ProtocolCommandListener.
    `void` | `fireCommandSent(String command, String message)` Fires a ProtocolCommandEvent signaling the sending of a command to all registered listeners, invoking their `protocolCommandSent()` methods.
    `void` | `fireReplyReceived(int replyCode, String message)` Fires a ProtocolCommandEvent signaling the reception of a command reply to all registered listeners, invoking their `protocolReplyReceived()` methods.
    `int` | `getListenerCount()` Gets the number of ProtocolCommandListeners currently registered.
    `void` | `removeProtocolCommandListener(ProtocolCommandListener listener)` Removes a ProtocolCommandListener.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ProtocolCommandSupport

          public ProtocolCommandSupport(Object source)

      Creates a ProtocolCommandSupport instance using the indicated source as the source of ProtocolCommandEvents.
      Parameters:
        `source` - The source to use for all generated ProtocolCommandEvents.

  - ### Method Detail

    - #### addProtocolCommandListener

          public void addProtocolCommandListener(ProtocolCommandListener listener)

      Adds a ProtocolCommandListener.
      Parameters:
        `listener` - The ProtocolCommandListener to add.

    - #### fireCommandSent

          public void fireCommandSent(String command,
                                      String message)

      Fires a ProtocolCommandEvent signaling the sending of a command to all registered listeners, invoking their `protocolCommandSent()` methods.
      Parameters:
        `command` - The string representation of the command type sent, not including the arguments (e.g., "STAT" or "GET").
        `message` - The entire command string verbatim as sent to the server, including all arguments.

    - #### fireReplyReceived

          public void fireReplyReceived(int replyCode,
                                        String message)

      Fires a ProtocolCommandEvent signaling the reception of a command reply to all registered listeners, invoking their `protocolReplyReceived()` methods.
      Parameters:
        `replyCode` - The integer code indicating the nature of the reply. This will be the protocol integer value for protocols that use integer reply codes, or the reply class constant corresponding to the reply for protocols like POP3 that use strings like OK rather than integer codes (i.e., POP3Repy.OK).
        `message` - The entire reply as received from the server.

    - #### getListenerCount

          public int getListenerCount()

      Gets the number of ProtocolCommandListeners currently registered.
      Returns:
        The number of ProtocolCommandListeners currently registered.

    - #### removeProtocolCommandListener

          public void removeProtocolCommandListener(ProtocolCommandListener listener)

      Removes a ProtocolCommandListener.
      Parameters:
        `listener` - The ProtocolCommandListener to remove.