Class BasicHandler

java.lang.Object
org.apache.axis.handlers.BasicHandler
All Implemented Interfaces:
Serializable, Handler
Direct Known Subclasses:
AxisEngine, BasicProvider, CommonsHTTPSender, DebugHandler, EchoHandler, ErrorHandler, FaultableHandler, HTTPActionHandler, HTTPAuthHandler, HTTPSender, JavaSender, JAXRPCHandler, JMSSender, JWSHandler, LocalResponder, LocalSender, LogHandler, LogMessage, MailSender, MD5AttachHandler, MustUnderstandChecker, SimpleAuthenticationHandler, SimpleAuthorizationHandler, SimpleChain, SimpleSessionHandler, SOAPMonitorHandler, URLMapper

public abstract class BasicHandler extends Object implements Handler
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.
Author:
Glen Daniels (gdaniels@allaire.com), Doug Davis (dug@us.ibm.com
See Also:
  • Field Details

    • makeLockable

      protected boolean makeLockable
    • options

      protected Hashtable options
    • name

      protected String name
  • Constructor Details

    • BasicHandler

      public BasicHandler()
  • Method Details

    • 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. Note that there is NOT a stub for invoke(), since we require any Handler derivative to implement that.
      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
    • canHandleBlock

      public boolean canHandleBlock(QName qname)
      Description copied from interface: Handler
      Indicate if this handler can process qname.
      Specified by:
      canHandleBlock in interface Handler
      Parameters:
      qname - the QName to check
      Returns:
      true if this Handler can handle qname, false otherwise
    • onFault

      public void onFault(MessageContext msgContext)
      Description copied from interface: Handler
      Called when a subsequent handler throws a fault.
      Specified by:
      onFault in interface Handler
      Parameters:
      msgContext - the MessageContext to process the fault to
    • setOption

      public void setOption(String name, Object value)
      Set the given option (name/value) in this handler's bag of options
      Specified by:
      setOption in interface Handler
      Parameters:
      name - the name of the option
      value - the new value of the option
    • setOptionDefault

      public boolean setOptionDefault(String name, 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 Object getOption(String name)
      Returns the option corresponding to the 'name' given
      Specified by:
      getOption in interface Handler
      Parameters:
      name - the name of the option
      Returns:
      the value of the option
    • getOptions

      public Hashtable getOptions()
      Return the entire list of options
      Specified by:
      getOptions in interface Handler
      Returns:
      a Hashset containing all name/value pairs
    • setOptions

      public void setOptions(Hashtable opts)
      Description copied from interface: Handler
      Sets a whole list of options.
      Specified by:
      setOptions in interface Handler
      Parameters:
      opts - a Hashtable of name-value pairs to use
    • setName

      public void setName(String name)
      Set the name (i.e. registry key) of this Handler
      Specified by:
      setName in interface Handler
      Parameters:
      name - the new name
    • getName

      public String getName()
      Return the name (i.e. registry key) for this Handler
      Specified by:
      getName in interface Handler
      Returns:
      the name for this Handler
    • getDeploymentData

      public Element getDeploymentData(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
      Parameters:
      doc - a Document within which to build the deployment data
      Returns:
      an Element representing the deployment data
    • generateWSDL

      public void generateWSDL(MessageContext msgContext) throws AxisFault
      Description copied from interface: Handler
      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
      Parameters:
      msgContext - the MessageContext to generate the WSDL to
      Throws:
      AxisFault - if there was a problem generating the WSDL
    • getUnderstoodHeaders

      public 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
      Returns:
      a List of QName instances