org.jboss.axis.handlers
Class BasicHandler

java.lang.Object
  extended byorg.jboss.axis.handlers.BasicHandler
All Implemented Interfaces:
Handler (src)
Direct Known Subclasses:
AxisEngine (src) , BasicProvider (src) , ClientLoginHandler (src) , DebugHandler (src) , EchoHandler (src) , ErrorHandler (src) , FaultableHandler (src) , FlashNamespaceHandler (src) , HTTPActionHandler (src) , HTTPAuthHandler (src) , HTTPSender (src) , JavaSender (src) , JAXRPCHandler (src) , JBossAuthenticationHandler (src) , JBossAuthorizationHandler (src) , JBossJuddiAxisHandler (src) , JMSSender (src) , LocalResponder (src) , LocalSender (src) , LogHandler (src) , LogMessage (src) , MD5AttachHandler (src) , SerialisationResponseHandler (src) , ServerLoginHandler (src) , SimpleAuthenticationHandler (src) , SimpleAuthorizationHandler (src) , SimpleChain (src) , SimpleSessionHandler (src) , TransactionResponseHandler (src) , URLMapper (src)

public abstract class BasicHandler
extends java.lang.Object
implements Handler (src)

BasicHandler is a utility class which implements simple property setting/getting behavior, and stubs out a lot of the Handler methods. Extend this class to make writing your Handlers easier, and then override what you need to.


Field Summary
protected  boolean makeLockable
           
protected  java.lang.String name
           
protected  java.util.Hashtable options
           
 
Constructor Summary
BasicHandler()
           
 
Method Summary
 boolean canHandleBlock(QName (src)  qname)
          Can this Handler process this QName?
 void cleanup()
          Cleanup is called when the chain containing this Handler object is done processing the chain.
 void generateWSDL(MessageContext (src)  msgContext)
          Obtain WSDL information.
 org.w3c.dom.Element getDeploymentData(org.w3c.dom.Document doc)
          This will return the root element of an XML doc that describes the deployment information about this handler.
 java.lang.String getName()
          Return the name (i.e.
 java.lang.Object getOption(java.lang.String name)
          Returns the option corresponding to the 'name' given
 java.util.Hashtable getOptions()
          Return the entire list of options
 java.util.List getUnderstoodHeaders()
          Return a list of QNames which this Handler understands.
 void init()
          Stubbed-out methods.
protected  void initHashtable()
           
abstract  void invoke(MessageContext (src)  msgContext)
          Must implement this in subclasses.
 void onFault(MessageContext (src)  msgContext)
          Called when a subsequent handler throws a fault.
 void setName(java.lang.String name)
          Set the name (i.e.
 void setOption(java.lang.String name, java.lang.Object value)
          Set the given option (name/value) in this handler's bag of options
 boolean setOptionDefault(java.lang.String name, java.lang.Object value)
          Set a default value for the given option: if the option is not already set, then set it.
 void setOptions(java.util.Hashtable opts)
          Sets a whole list of options
protected  void setOptionsLockable(boolean makeLockable)
          Should this Handler use a LockableHashtable for options? Default is 'false'.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

makeLockable

protected boolean makeLockable

options

protected java.util.Hashtable options

name

protected java.lang.String name
Constructor Detail

BasicHandler

public BasicHandler()
Method Detail

setOptionsLockable

protected void setOptionsLockable(boolean makeLockable)
Should this Handler use a LockableHashtable for options? Default is 'false'.


initHashtable

protected void initHashtable()

init

public void init()
Stubbed-out methods. Override in your child class to implement any real behavior.

Specified by:
init in interface Handler (src)

cleanup

public void cleanup()
Description copied from interface: Handler (src)
Cleanup is called when the chain containing this Handler object is done processing the chain.

Specified by:
cleanup in interface Handler (src)

canHandleBlock

public boolean canHandleBlock(QName (src)  qname)
Description copied from interface: Handler (src)
Can this Handler process this QName?

Specified by:
canHandleBlock in interface Handler (src)

onFault

public void onFault(MessageContext (src)  msgContext)
Description copied from interface: Handler (src)
Called when a subsequent handler throws a fault.

Specified by:
onFault in interface Handler (src)

invoke

public abstract void invoke(MessageContext (src)  msgContext)
                     throws AxisFault (src) 
Must implement this in subclasses.

Specified by:
invoke in interface Handler (src)
Throws:
AxisFault (src)

setOption

public void setOption(java.lang.String name,
                      java.lang.Object value)
Set the given option (name/value) in this handler's bag of options

Specified by:
setOption in interface Handler (src)

setOptionDefault

public boolean setOptionDefault(java.lang.String name,
                                java.lang.Object value)
Set a default value for the given option: if the option is not already set, then set it. if the option is already set, then do not set it.

If this is called multiple times, the first with a non-null value if 'value' will set the default, remaining calls will be ignored.

Returns true if value set (by this call), otherwise false;


getOption

public java.lang.Object getOption(java.lang.String name)
Returns the option corresponding to the 'name' given

Specified by:
getOption in interface Handler (src)

getOptions

public java.util.Hashtable getOptions()
Return the entire list of options

Specified by:
getOptions in interface Handler (src)

setOptions

public void setOptions(java.util.Hashtable opts)
Description copied from interface: Handler (src)
Sets a whole list of options

Specified by:
setOptions in interface Handler (src)

setName

public void setName(java.lang.String name)
Set the name (i.e. registry key) of this Handler

Specified by:
setName in interface Handler (src)

getName

public java.lang.String getName()
Return the name (i.e. registry key) for this Handler

Specified by:
getName in interface Handler (src)

getDeploymentData

public org.w3c.dom.Element getDeploymentData(org.w3c.dom.Document doc)
Description copied from interface: Handler (src)
This will return the root element of an XML doc that describes the deployment information about this handler. This is NOT the WSDL, this is all of the static internal data use by Axis - WSDL takes into account run-time information (like which service we're talking about) this is just the data that's stored in the registry. Used by the 'list' Admin function.

Specified by:
getDeploymentData in interface Handler (src)

generateWSDL

public void generateWSDL(MessageContext (src)  msgContext)
                  throws AxisFault (src) 
Description copied from interface: Handler (src)
Obtain WSDL information. Some Handlers will implement this by merely setting properties in the MessageContext, others (providers) will take responsibility for doing the "real work" of generating WSDL for a given service.

Specified by:
generateWSDL in interface Handler (src)
Throws:
AxisFault (src)

getUnderstoodHeaders

public java.util.List getUnderstoodHeaders()
Return a list of QNames which this Handler understands. By returning a particular QName here, we are committing to fulfilling any contracts defined in the specification of the SOAP header with that QName.

Specified by:
getUnderstoodHeaders in interface Handler (src)