Interface Module

  • All Known Implementing Classes:
    Addressing, JAXWSModule, MetadataExchangeModule, MTOMPolicy, ScriptModule, SOAPMonitorModule

    public interface Module
    Every module provides an implementation of this class. Modules are in one of two states: "available" or "engaged". All modules that the runtime detects (from the system modules/ directory or from other means) are said to be in the "available" state. If some service indicates a dependency on this module then the module is initialized (once for the life of the system) and the state changes to "initialized".

    Any module which is in the "engaged" state can be engaged as needed by the engine to respond to a message. Currently module engagement is done via deployment (using module.xml). In the future we may engage modules programmatically by introducing an engage() method to this interface, thereby allowing more dynamic scenarios.

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void applyPolicy​(org.apache.neethi.Policy policy, AxisDescription axisDescription)
      Evaluates specified policy for the specified AxisDescription.
      boolean canSupportAssertion​(org.apache.neethi.Assertion assertion)
      Evaluate whether it can support the specified assertion and returns true if the assertion can be supported.
      void engageNotify​(AxisDescription axisDescription)
      When engaging this module to some service or operation , module will be notify by calling this method there module author can validate , add policy and do any thing that he want , and he can refuse the engage as well
      void init​(ConfigurationContext configContext, AxisModule module)  
      void shutdown​(ConfigurationContext configurationContext)  
    • Method Detail

      • engageNotify

        void engageNotify​(AxisDescription axisDescription)
                   throws AxisFault
        When engaging this module to some service or operation , module will be notify by calling this method there module author can validate , add policy and do any thing that he want , and he can refuse the engage as well
        Parameters:
        axisDescription -
        Throws:
        AxisFault
      • canSupportAssertion

        boolean canSupportAssertion​(org.apache.neethi.Assertion assertion)
        Evaluate whether it can support the specified assertion and returns true if the assertion can be supported.
        Parameters:
        assertion - the assertion that the module must decide whether it can support or not.
        Returns:
        true if the specified assertion can be supported by the module
      • applyPolicy

        void applyPolicy​(org.apache.neethi.Policy policy,
                         AxisDescription axisDescription)
                  throws AxisFault
        Evaluates specified policy for the specified AxisDescription. It computes the configuration that is appropriate to support the policy and stores it the appropriate description.
        Parameters:
        policy - the policy that is applicable for the specified AxisDescription
        Throws:
        AxisFault - if anything goes wrong.