/* | |
* Copyright 2007 the original author or authors. | |
* | |
* 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.mockftpserver.core.command; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import org.mockftpserver.core.util.Assert; | |
import java.util.ResourceBundle; | |
/** | |
* The abstract superclass for CommandHandler classes. | |
* | |
* @author Chris Mair | |
* @version $Revision$ - $Date$ | |
*/ | |
public abstract class AbstractCommandHandler implements CommandHandler, ReplyTextBundleAware { | |
protected final Logger LOG = LoggerFactory.getLogger(getClass()); | |
private ResourceBundle replyTextBundle; | |
//------------------------------------------------------------------------- | |
// Support for reply text ResourceBundle | |
//------------------------------------------------------------------------- | |
/** | |
* Return the ResourceBundle containing the reply text messages | |
* | |
* @return the replyTextBundle | |
* @see ReplyTextBundleAware#getReplyTextBundle() | |
*/ | |
public ResourceBundle getReplyTextBundle() { | |
return replyTextBundle; | |
} | |
/** | |
* Set the ResourceBundle containing the reply text messages | |
* | |
* @param replyTextBundle - the replyTextBundle to set | |
* @see ReplyTextBundleAware#setReplyTextBundle(java.util.ResourceBundle) | |
*/ | |
public void setReplyTextBundle(ResourceBundle replyTextBundle) { | |
this.replyTextBundle = replyTextBundle; | |
} | |
// ------------------------------------------------------------------------- | |
// Utility methods for subclasses | |
// ------------------------------------------------------------------------- | |
/** | |
* Return the specified text surrounded with double quotes | |
* | |
* @param text - the text to surround with quotes | |
* @return the text with leading and trailing double quotes | |
* @throws org.mockftpserver.core.util.AssertFailedException | |
* - if text is null | |
*/ | |
protected static String quotes(String text) { | |
Assert.notNull(text, "text"); | |
final String QUOTES = "\""; | |
return QUOTES + text + QUOTES; | |
} | |
/** | |
* Assert that the specified number is a valid reply code | |
* | |
* @param replyCode - the reply code to check | |
* @throws org.mockftpserver.core.util.AssertFailedException | |
* - if the replyCode is invalid | |
*/ | |
protected void assertValidReplyCode(int replyCode) { | |
Assert.isTrue(replyCode > 0, "The number [" + replyCode + "] is not a valid reply code"); | |
} | |
} |