org.jboss.axis
Class SimpleChain

java.lang.Object
  extended byorg.jboss.axis.handlers.BasicHandler (src) 
      extended byorg.jboss.axis.SimpleChain
All Implemented Interfaces:
Chain (src) , Handler (src)
Direct Known Subclasses:
SimpleTargetedChain (src)

public class SimpleChain
extends BasicHandler (src)
implements Chain (src)

A Simple Chain is a 'composite' Handler in that it aggregates a collection of Handlers and also acts as a Handler which delegates its operations to the collection.

A Simple Chain initially has no Handlers. Handlers may be added until the chain is invoke()d after which Handlers may not be added (and any attempt to do so will throw an exception).


Field Summary
protected  java.util.Vector handlers
           
protected  boolean invoked
           
 
Fields inherited from class org.jboss.axis.handlers.BasicHandler (src)
makeLockable, name, options
 
Constructor Summary
SimpleChain()
           
 
Method Summary
 void addHandler(Handler (src)  handler)
          Adds a handler to the end of the chain.
 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.
 boolean contains(Handler (src)  handler)
          Is this handler in the chain?
 void generateWSDL(MessageContext (src)  msgContext)
          Iterate over the chain letting each handler have a crack at contributing to a WSDL description.
 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.
 Handler (src) [] getHandlers()
          Get the list of handlers in the chain - is Handler[] the right form?
 void init()
          Init is called when the chain containing this Handler object is instantiated.
 void invoke(MessageContext (src)  msgContext)
          Iterate over the chain invoking each handler.
 void onFault(MessageContext (src)  msgContext)
          Notify the handlers in this chain because some handler later on has faulted - in reverse order.
 
Methods inherited from class org.jboss.axis.handlers.BasicHandler (src)
getName, getOption, getOptions, getUnderstoodHeaders, initHashtable, setName, setOption, setOptionDefault, setOptions, setOptionsLockable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jboss.axis.Handler (src)
getName, getOption, getOptions, getUnderstoodHeaders, setName, setOption, setOptions
 

Field Detail

handlers

protected java.util.Vector handlers

invoked

protected boolean invoked
Constructor Detail

SimpleChain

public SimpleChain()
Method Detail

init

public void init()
Description copied from interface: Handler (src)
Init is called when the chain containing this Handler object is instantiated.

Specified by:
init in interface Handler (src)
Overrides:
init in class BasicHandler (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)
Overrides:
cleanup in class BasicHandler (src)

invoke

public void invoke(MessageContext (src)  msgContext)
            throws AxisFault (src) 
Iterate over the chain invoking each handler. If there's a fault then call 'onFault' for each completed handler in reverse order, then rethrow the exception.

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

generateWSDL

public void generateWSDL(MessageContext (src)  msgContext)
                  throws AxisFault (src) 
Iterate over the chain letting each handler have a crack at contributing to a WSDL description.

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

onFault

public void onFault(MessageContext (src)  msgContext)
Notify the handlers in this chain because some handler later on has faulted - in reverse order. If any handlers have been added since we visited the chain, they will get notified too!

Specified by:
onFault in interface Handler (src)
Overrides:
onFault in class BasicHandler (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)
Overrides:
canHandleBlock in class BasicHandler (src)

addHandler

public void addHandler(Handler (src)  handler)
Description copied from interface: Chain (src)
Adds a handler to the end of the chain. May not be called after invoke.

Specified by:
addHandler in interface Chain (src)

contains

public boolean contains(Handler (src)  handler)
Description copied from interface: Chain (src)
Is this handler in the chain?

Specified by:
contains in interface Chain (src)

getHandlers

public Handler (src) [] getHandlers()
Description copied from interface: Chain (src)
Get the list of handlers in the chain - is Handler[] the right form?

Specified by:
getHandlers in interface Chain (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)
Overrides:
getDeploymentData in class BasicHandler (src)