Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.axis
Class SimpleChain  view SimpleChain download SimpleChain.java

java.lang.Object
  extended byorg.apache.axis.handlers.BasicHandler
      extended byorg.apache.axis.SimpleChain
All Implemented Interfaces:
Chain, Handler, java.io.Serializable
Direct Known Subclasses:
SimpleTargetedChain

public class SimpleChain
extends org.apache.axis.handlers.BasicHandler
implements Chain

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
private  java.lang.String CAUGHTFAULT_PROPERTY
           
protected  java.util.Vector handlers
           
protected  boolean invoked
           
private static HandlerIterationStrategy iVisitor
           
private static org.apache.commons.logging.Log log
           
private static HandlerIterationStrategy wsdlVisitor
           
 
Fields inherited from class org.apache.axis.handlers.BasicHandler
makeLockable, name, options
 
Constructor Summary
SimpleChain()
           
 
Method Summary
 void addHandler(Handler handler)
          Adds a handler to the end of the chain.
 boolean canHandleBlock(javax.xml.namespace.QName qname)
          Indicate if this handler can process qname.
 void cleanup()
          Cleanup is called when the chain containing this Handler object is done processing the chain.
 boolean contains(Handler handler)
          Discover if a handler is in this chain.
private  void doVisiting(MessageContext msgContext, HandlerIterationStrategy visitor)
           
 void generateWSDL(MessageContext 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[] getHandlers()
          Get the list of handlers in the chain.
 void init()
          Init is called when the chain containing this Handler object is instantiated.
 void invoke(MessageContext msgContext)
          Iterate over the chain invoking each handler.
 void onFault(MessageContext msgContext)
          Notify the handlers in this chain because some handler later on has faulted - in reverse order.
 
Methods inherited from class org.apache.axis.handlers.BasicHandler
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.apache.axis.Handler
getName, getOption, getOptions, getUnderstoodHeaders, setName, setOption, setOptions
 

Field Detail

log

private static org.apache.commons.logging.Log log

handlers

protected java.util.Vector handlers

invoked

protected boolean invoked

CAUGHTFAULT_PROPERTY

private java.lang.String CAUGHTFAULT_PROPERTY

iVisitor

private static final HandlerIterationStrategy iVisitor

wsdlVisitor

private static final HandlerIterationStrategy wsdlVisitor
Constructor Detail

SimpleChain

public SimpleChain()
Method Detail

init

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

Specified by:
init in interface Handler

cleanup

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

Specified by:
cleanup in interface Handler

invoke

public void invoke(MessageContext msgContext)
            throws AxisFault
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

generateWSDL

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

Specified by:
generateWSDL in interface Handler

doVisiting

private void doVisiting(MessageContext msgContext,
                        HandlerIterationStrategy visitor)
                 throws AxisFault

onFault

public void onFault(MessageContext 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

canHandleBlock

public boolean canHandleBlock(javax.xml.namespace.QName qname)
Description copied from interface: Handler
Indicate if this handler can process qname.

Specified by:
canHandleBlock in interface Handler

addHandler

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

Specified by:
addHandler in interface Chain

contains

public boolean contains(Handler handler)
Description copied from interface: Chain
Discover if a handler is in this chain.

Specified by:
contains in interface Chain

getHandlers

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

Specified by:
getHandlers in interface Chain

getDeploymentData

public org.w3c.dom.Element getDeploymentData(org.w3c.dom.Document doc)
Description copied from interface: Handler
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