- /*
- * Copyright 2001-2004 The Apache Software Foundation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package org.apache.commons.net;
- import java.util.EventObject;
-
- /***
- * There exists a large class of IETF protocols that work by sending an
- * ASCII text command and arguments to a server, and then receiving an
- * ASCII text reply. For debugging and other purposes, it is extremely
- * useful to log or keep track of the contents of the protocol messages.
- * The ProtocolCommandEvent class coupled with the
- * <a href="org.apache.commons.net.ProtocolCommandListener.html">
- * ProtocolCommandListener </a> interface facilitate this process.
- * <p>
- * <p>
- * @see ProtocolCommandListener
- * @see ProtocolCommandSupport
- * @author Daniel F. Savarese
- ***/
-
- public class ProtocolCommandEvent extends EventObject
- {
- private int __replyCode;
- private boolean __isCommand;
- private String __message, __command;
-
- /***
- * Creates a ProtocolCommandEvent signalling a command was sent to
- * the server. ProtocolCommandEvents created with this constructor
- * should only be sent after a command has been sent, but before the
- * reply has been received.
- * <p>
- * @param source The source of the event.
- * @param command The string representation of the command type sent, not
- * including the arguments (e.g., "STAT" or "GET").
- * @param message The entire command string verbatim as sent to the server,
- * including all arguments.
- ***/
- public ProtocolCommandEvent(Object source, String command, String message)
- {
- super(source);
- __replyCode = 0;
- __message = message;
- __isCommand = true;
- __command = command;
- }
-
-
- /***
- * Creates a ProtocolCommandEvent signalling a reply to a command was
- * received. ProtocolCommandEvents created with this constructor
- * should only be sent after a complete command reply has been received
- * fromt a server.
- * <p>
- * @param source The source of the event.
- * @param 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).
- * @param message The entire reply as received from the server.
- ***/
- public ProtocolCommandEvent(Object source, int replyCode, String message)
- {
- super(source);
- __replyCode = replyCode;
- __message = message;
- __isCommand = false;
- __command = null;
- }
-
- /***
- * Returns the string representation of the command type sent (e.g., "STAT"
- * or "GET"). If the ProtocolCommandEvent is a reply event, then null
- * is returned.
- * <p>
- * @return The string representation of the command type sent, or null
- * if this is a reply event.
- ***/
- public String getCommand()
- {
- return __command;
- }
-
-
- /***
- * Returns the reply code of the received server reply. Undefined if
- * this is not a reply event.
- * <p>
- * @return The reply code of the received server reply. Undefined if
- * not a reply event.
- ***/
- public int getReplyCode()
- {
- return __replyCode;
- }
-
- /***
- * Returns true if the ProtocolCommandEvent was generated as a result
- * of sending a command.
- * <p>
- * @return true If the ProtocolCommandEvent was generated as a result
- * of sending a command. False otherwise.
- ***/
- public boolean isCommand()
- {
- return __isCommand;
- }
-
- /***
- * Returns true if the ProtocolCommandEvent was generated as a result
- * of receiving a reply.
- * <p>
- * @return true If the ProtocolCommandEvent was generated as a result
- * of receiving a reply. False otherwise.
- ***/
- public boolean isReply()
- {
- return !isCommand();
- }
-
- /***
- * Returns the entire message sent to or received from the server.
- * <p>
- * @return The entire message sent to or received from the server.
- ***/
- public String getMessage()
- {
- return __message;
- }
- }