Package 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
  Description
  `ProtocolCommandSupport(Object source)`
  Creates a ProtocolCommandSupport instance using the indicated source as the source of ProtocolCommandEvents.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addProtocolCommandListener(ProtocolCommandListener listener)`
  Adds a ProtocolCommandListener.
  `void`
  `fireCommandSent(String command, String message)`
  Fires a ProtocolCommandEvent signalling the sending of a command to all registered listeners, invoking their `protocolCommandSent()` methods.
  `void`
  `fireReplyReceived(int replyCode, String message)`
  Fires a ProtocolCommandEvent signalling the reception of a command reply to all registered listeners, invoking their `protocolReplyReceived()` methods.
  `int`
  `getListenerCount()`
  Returns 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 Details

  - ### 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 Details

  - ### 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 signalling 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 signalling the reception of a command reply to all registered listeners, invoking their `protocolReplyReceived()` methods.
    Parameters:
      `replyCode` - The integer code indicating the natureof 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()
    Returns 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.