org.subethamail.smtp.server
Class BaseCommand

java.lang.Object
  extended by org.subethamail.smtp.server.BaseCommand
All Implemented Interfaces:
Command
Direct Known Subclasses:
AuthCommand, DataCommand, DataEndCommand, EhloCommand, HelloCommand, HelpCommand, MailCommand, NoopCommand, QuitCommand, ReceiptCommand, ResetCommand, StartTLSCommand, VerifyCommand

public abstract class BaseCommand
extends java.lang.Object
implements Command

Author:
Ian McFarland <ian@neo.com>, Jon Stevens

Constructor Summary
BaseCommand(java.lang.String name, java.lang.String help)
           
BaseCommand(java.lang.String name, java.lang.String help, java.lang.String argumentDescription)
           
 
Method Summary
abstract  void execute(java.lang.String commandString, ConnectionContext context)
          This is the main method that you need to override in order to implement a command.
protected  java.lang.String extractEmailAddress(java.lang.String args, int subcommandOffset)
           
protected  java.lang.String getArgPredicate(java.lang.String commandString)
           
protected  java.lang.String[] getArgs(java.lang.String commandString)
           
 java.util.Map<java.lang.String,HelpMessage> getHelp()
           
 HelpMessage getHelp(java.lang.String commandName)
           
 java.lang.String getName()
           
protected static void getTokenizedString(java.lang.StringBuilder sb, java.util.Collection<java.lang.String> items, java.lang.String delim)
           
protected  boolean isValidEmailAddress(java.lang.String address)
           
 void setHelp(HelpMessage helpMessage)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseCommand

public BaseCommand(java.lang.String name,
                   java.lang.String help)

BaseCommand

public BaseCommand(java.lang.String name,
                   java.lang.String help,
                   java.lang.String argumentDescription)
Method Detail

execute

public abstract void execute(java.lang.String commandString,
                             ConnectionContext context)
                      throws java.io.IOException
This is the main method that you need to override in order to implement a command.

Specified by:
execute in interface Command
Throws:
java.io.IOException

setHelp

public void setHelp(HelpMessage helpMessage)

getHelp

public HelpMessage getHelp(java.lang.String commandName)
                    throws CommandException
Specified by:
getHelp in interface Command
Throws:
CommandException

getHelp

public java.util.Map<java.lang.String,HelpMessage> getHelp()

getArgPredicate

protected java.lang.String getArgPredicate(java.lang.String commandString)

getName

public java.lang.String getName()
Specified by:
getName in interface Command

isValidEmailAddress

protected boolean isValidEmailAddress(java.lang.String address)

getTokenizedString

protected static void getTokenizedString(java.lang.StringBuilder sb,
                                         java.util.Collection<java.lang.String> items,
                                         java.lang.String delim)

getArgs

protected java.lang.String[] getArgs(java.lang.String commandString)

extractEmailAddress

protected java.lang.String extractEmailAddress(java.lang.String args,
                                               int subcommandOffset)


Copyright © 2011 SubEthaSMTP. All Rights Reserved. Build version: UNVERSIONED