Coverage Report - org.mockftpserver.core.command.AbstractStaticReplyCommandHandler
 
Classes in this File Line Coverage Branch Coverage Complexity
AbstractStaticReplyCommandHandler
100%
16/16
100%
2/2
1.2
 
 1  
 /*
 2  
  * Copyright 2007 the original author or authors.
 3  
  * 
 4  
  * Licensed under the Apache License, Version 2.0 (the "License");
 5  
  * you may not use this file except in compliance with the License.
 6  
  * You may obtain a copy of the License at
 7  
  * 
 8  
  *      http://www.apache.org/licenses/LICENSE-2.0
 9  
  * 
 10  
  * Unless required by applicable law or agreed to in writing, software
 11  
  * distributed under the License is distributed on an "AS IS" BASIS,
 12  
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 13  
  * See the License for the specific language governing permissions and
 14  
  * limitations under the License.
 15  
  */
 16  
 package org.mockftpserver.core.command;
 17  
 
 18  
 import org.mockftpserver.core.session.Session;
 19  
 
 20  
 /**
 21  
  * The abstract superclass for CommandHandler classes that default to sending
 22  
  * back a configured reply code and text. You can customize the returned reply
 23  
  * code by setting the required <code>replyCode</code> property. If only the
 24  
  * <code>replyCode</code> property is set, then the default reply text corresponding to that
 25  
  * reply code is used in the response. You can optionally configure the reply text by setting
 26  
  * the <code>replyMessageKey</code> or <code>replyText</code> property.
 27  
  * <p>
 28  
  * Subclasses can optionally override the reply code and/or text for the reply by calling
 29  
  * {@link #setReplyCode(int)}, {@link #setReplyMessageKey(String)} and {@link #setReplyText(String)}.
 30  
  *
 31  
  * @version $Revision: 184 $ - $Date: 2008-12-03 17:52:39 -0500 (Wed, 03 Dec 2008) $
 32  
  *
 33  
  * @author Chris Mair
 34  
  */
 35  2078
 public abstract class AbstractStaticReplyCommandHandler extends AbstractTrackingCommandHandler {
 36  
 
 37  
     // Defaults to zero; must be set to non-zero
 38  2078
     protected int replyCode = 0;
 39  
 
 40  
     // Defaults to null; if set to non-null, this value will override the default reply text associated with
 41  
     // the replyCode.
 42  2078
     protected String replyText = null;
 43  
 
 44  
     // The message key for the reply text. Defaults to null. If null, use the default message associated
 45  
     // with the reply code
 46  2078
     protected String replyMessageKey = null;
 47  
 
 48  
     /**
 49  
      * Set the reply code.
 50  
      *
 51  
      * @param replyCode - the replyCode
 52  
      *
 53  
      * @throws org.mockftpserver.core.util.AssertFailedException - if the replyCode is not valid
 54  
      */
 55  
     public void setReplyCode(int replyCode) {
 56  1906
         assertValidReplyCode(replyCode);
 57  1902
         this.replyCode = replyCode;
 58  1902
     }
 59  
 
 60  
     /**
 61  
      * Set the reply text. If null, then use the (default) message key for the replyCode.
 62  
      *
 63  
      * @param replyText - the replyText
 64  
      */
 65  
     public void setReplyText(String replyText) {
 66  4
         this.replyText = replyText;
 67  4
     }
 68  
 
 69  
     /**
 70  
      * Set the message key for the reply text. If null, then use the default message key.
 71  
      *
 72  
      * @param replyMessageKey - the replyMessageKey to set
 73  
      */
 74  
     public void setReplyMessageKey(String replyMessageKey) {
 75  1
         this.replyMessageKey = replyMessageKey;
 76  1
     }
 77  
 
 78  
     // -------------------------------------------------------------------------
 79  
     // Utility methods for subclasses
 80  
     // -------------------------------------------------------------------------
 81  
 
 82  
     /**
 83  
      * Send the reply using the replyCode and message key/text configured for this command handler.
 84  
      * @param session - the Session
 85  
      *
 86  
      * @throws org.mockftpserver.core.util.AssertFailedException if the replyCode is not valid
 87  
      */
 88  
     protected void sendReply(Session session) {
 89  192
         sendReply(session, null);
 90  190
     }
 91  
 
 92  
     /**
 93  
      * Send the reply using the replyCode and message key/text configured for this command handler.
 94  
      * @param session - the Session
 95  
      * @param messageParameter - message parameter; may be null
 96  
      *
 97  
      * @throws org.mockftpserver.core.util.AssertFailedException if the replyCode is not valid
 98  
      */
 99  
     protected void sendReply(Session session, Object messageParameter) {
 100  219
         Object[] parameters = (messageParameter == null) ? null : new Object[] { messageParameter };
 101  219
         sendReply(session, replyCode, replyMessageKey, replyText, parameters);
 102  217
     }
 103  
 
 104  
 }