org.apache.james.protocols.smtp.core.esmtp
Class EhloCmdHandler

java.lang.Object
  extended by org.apache.james.protocols.smtp.core.AbstractHookableCmdHandler<HeloHook>
      extended by org.apache.james.protocols.smtp.core.esmtp.EhloCmdHandler
All Implemented Interfaces:
CommandHandler<SMTPSession>, ExtensibleHandler, ProtocolHandler, EhloExtension

public class EhloCmdHandler
extends AbstractHookableCmdHandler<HeloHook>
implements EhloExtension

Handles EHLO command


Constructor Summary
EhloCmdHandler()
           
 
Method Summary
protected  HookResult callHook(HeloHook rawHook, SMTPSession session, String parameters)
          Must be implemented by hookable cmd handlers to make the effective call to an hook.
protected  SMTPResponse doCoreCmd(SMTPSession session, String command, String parameters)
          Execute the core commandHandling.
protected  SMTPResponse doFilterChecks(SMTPSession session, String command, String parameters)
          Execute Syntax checks and return a SMTPResponse if a syntax error was detected, otherwise null.
protected  Class<HeloHook> getHookInterface()
          Return the interface which hooks need to implement to hook in
 Collection<String> getImplCommands()
           
 List<String> getImplementedEsmtpFeatures(SMTPSession session)
           
 List<Class<?>> getMarkerInterfaces()
           
 void wireExtensions(Class interfaceName, List extension)
           
 
Methods inherited from class org.apache.james.protocols.smtp.core.AbstractHookableCmdHandler
calcDefaultSMTPResponse, getHooks, onCommand
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EhloCmdHandler

public EhloCmdHandler()
Method Detail

getImplCommands

public Collection<String> getImplCommands()
Specified by:
getImplCommands in interface CommandHandler<SMTPSession>
See Also:
CommandHandler.getImplCommands()

getMarkerInterfaces

public List<Class<?>> getMarkerInterfaces()
Specified by:
getMarkerInterfaces in interface ExtensibleHandler
Overrides:
getMarkerInterfaces in class AbstractHookableCmdHandler<HeloHook>
See Also:
ExtensibleHandler.getMarkerInterfaces()

wireExtensions

public void wireExtensions(Class interfaceName,
                           List extension)
Specified by:
wireExtensions in interface ExtensibleHandler
Overrides:
wireExtensions in class AbstractHookableCmdHandler<HeloHook>
See Also:
ExtensibleHandler.wireExtensions(java.lang.Class, java.util.List)

doCoreCmd

protected SMTPResponse doCoreCmd(SMTPSession session,
                                 String command,
                                 String parameters)
Description copied from class: AbstractHookableCmdHandler
Execute the core commandHandling.

Specified by:
doCoreCmd in class AbstractHookableCmdHandler<HeloHook>
Returns:
smtp response
See Also:
AbstractHookableCmdHandler.doCoreCmd(org.apache.james.protocols.smtp.SMTPSession, java.lang.String, java.lang.String)

doFilterChecks

protected SMTPResponse doFilterChecks(SMTPSession session,
                                      String command,
                                      String parameters)
Description copied from class: AbstractHookableCmdHandler
Execute Syntax checks and return a SMTPResponse if a syntax error was detected, otherwise null.

Specified by:
doFilterChecks in class AbstractHookableCmdHandler<HeloHook>
Returns:
smtp response if a syntax error was detected, otherwise null
See Also:
AbstractHookableCmdHandler.doFilterChecks(org.apache.james.protocols.smtp.SMTPSession, java.lang.String, java.lang.String)

getHookInterface

protected Class<HeloHook> getHookInterface()
Description copied from class: AbstractHookableCmdHandler
Return the interface which hooks need to implement to hook in

Specified by:
getHookInterface in class AbstractHookableCmdHandler<HeloHook>
Returns:
interface
See Also:
AbstractHookableCmdHandler.getHookInterface()

callHook

protected HookResult callHook(HeloHook rawHook,
                              SMTPSession session,
                              String parameters)
Must be implemented by hookable cmd handlers to make the effective call to an hook.

Specified by:
callHook in class AbstractHookableCmdHandler<HeloHook>
Parameters:
rawHook - the hook
session - the session
parameters - the parameters
Returns:
the HookResult, will be calculated using HookResultToSMTPResponse.

getImplementedEsmtpFeatures

public List<String> getImplementedEsmtpFeatures(SMTPSession session)
Specified by:
getImplementedEsmtpFeatures in interface EhloExtension
See Also:
EhloExtension.getImplementedEsmtpFeatures(org.apache.james.protocols.smtp.SMTPSession)


Copyright © 2010-2011 The Apache Software Foundation. All Rights Reserved.