org.apache.axis2.description
Class AxisOperation

java.lang.Object
  extended byorg.apache.axis2.description.AxisDescription
      extended byorg.apache.axis2.description.AxisOperation
All Implemented Interfaces:
DescriptionConstants, ParameterInclude, WSDLConstants
Direct Known Subclasses:
InOnlyAxisOperation, InOutAxisOperation, OutOnlyAxisOperation

public abstract class AxisOperation
extends AxisDescription
implements WSDLConstants


Nested Class Summary
 
Nested classes inherited from class org.apache.axis2.wsdl.WSDLConstants
WSDLConstants.WSDL11Constants, WSDLConstants.WSDL20_2004Constants, WSDLConstants.WSDL20_2006Constants
 
Field Summary
static String SOAP_ACTION
           
static String STYLE_DOC
           
static String STYLE_MSG
           
static String STYLE_RPC
           
 
Fields inherited from interface org.apache.axis2.wsdl.WSDLConstants
INPUT_PART_QNAME_SUFFIX, MESSAGE_LABEL_FAULT_VALUE, MESSAGE_LABEL_IN, MESSAGE_LABEL_IN_VALUE, MESSAGE_LABEL_OUT, MESSAGE_LABEL_OUT_VALUE, WSDL_1_1, WSDL_2_0, WSDL_20_DESCRIPTION, WSDL_4_J_DEFINITION, WSDL_MESSAGE_DIRECTION_IN, WSDL_MESSAGE_DIRECTION_OUT, WSDL_USE_ENCODED, WSDL_USE_LITERAL, WSDL1_1_NAMESPACE, WSDL2_0_NAMESPACE
 
Fields inherited from interface org.apache.axis2.description.DescriptionConstants
CLASSLOADER_KEY, CONTEXTPATH_KEY, EXECUTION_CHAIN_KEY, EXECUTION_FAULT_CHAIN_KEY, EXECUTION_OUT_CHAIN_KEY, IN_FAULTFLOW_KEY, INFLOW_KEY, MESSAGE_RECEIVER_KEY, MODULEREF_KEY, OPERATION_KEY, OUT_FAULTFLOW_KEY, OUTFLOW_KEY, PARAMETER_KEY, PHASES_KEY, SERVICE_CLASS_NAME, STYLE_KEY
 
Constructor Summary
AxisOperation()
           
AxisOperation(QName name)
           
 
Method Summary
 void addFaultAction(String faultName, String action)
           
abstract  void addFaultMessageContext(MessageContext msgContext, OperationContext opContext)
           
abstract  void addMessage(AxisMessage message, String label)
           
abstract  void addMessageContext(MessageContext msgContext, OperationContext opContext)
          Adds a message context into an operation context.
 void addModule(QName moduleName)
           
 void addModuleConfig(ModuleConfiguration moduleConfiguration)
          Adds module configuration, if there is moduleConfig tag in operation.
 ArrayList addModuleOperations(AxisModule module, AxisConfiguration axisConfig, AxisService service)
          Adds an operation to a service if a module is required to do so.
 OperationClient createClient(ServiceContext sc, Options options)
           
 void disengageModule(AxisModule module)
           
 void engageModule(AxisModule moduleref, AxisConfiguration axisConfig)
          Engages a module.
 OperationContext findForExistingOperationContext(MessageContext msgContext)
          Returns as existing OperationContext related to this message if one exists.
 OperationContext findOperationContext(MessageContext msgContext, ServiceContext serviceContext)
          Finds a MEPContext for an incoming message.
 int getAxisSpecifMEPConstant()
          Maps the String URI of the Message exchange pattern to a integer.
 Collection getEngagedModules()
          Method getEngagedModules.
 String getFaultAction()
           
 String getFaultAction(String faultName)
           
 String[] getFaultActionNames()
           
 ArrayList getFaultMessages()
           
 String getInputAction()
           
 Object getKey()
           
abstract  AxisMessage getMessage(String label)
           
 String getMessageExchangePattern()
           
 MessageReceiver getMessageReceiver()
           
 ModuleConfiguration getModuleConfig(QName moduleName)
           
 ArrayList getModuleRefs()
           
 QName getName()
           
 String getOutputAction()
           
abstract  ArrayList getPhasesInFaultFlow()
           
abstract  ArrayList getPhasesOutFaultFlow()
           
abstract  ArrayList getPhasesOutFlow()
           
abstract  ArrayList getRemainingPhasesInFlow()
           
 String getSoapAction()
           
 String getStyle()
           
 ArrayList getWsamappingList()
           
 boolean isControlOperation()
           
 boolean isEngaged(QName moduleName)
           
 boolean isParameterLocked(String parameterName)
          Checks whether the parameter is locked at any level.
 void registerMessageContext(MessageContext msgContext, OperationContext operationContext)
           
 void registerOperationContext(MessageContext msgContext, OperationContext operationContext)
           
 void removeFaultAction(String faultName)
           
 void removeFromEngagedModuleList(AxisModule module)
          To remove module from engage module list
 void setControlOperation(boolean controlOperation)
           
 void setFaultMessages(AxisMessage faultMessage)
           
 void setMessageExchangePattern(String mepURI)
           
 void setMessageReceiver(MessageReceiver messageReceiver)
           
 void setName(QName name)
           
 void setOutputAction(String act)
           
abstract  void setPhasesInFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFlow(ArrayList list)
           
abstract  void setRemainingPhasesInFlow(ArrayList list)
           
 void setSoapAction(String soapAction)
           
 void setStyle(String style)
           
 void setWsamappingList(ArrayList wsamappingList)
           
 
Methods inherited from class org.apache.axis2.description.AxisDescription
addChild, addChild, addParameter, applyPolicy, applyPolicy, deserializeParameters, getAxisConfiguration, getChild, getChildren, getParameter, getParameters, getParameterValue, getParent, getPolicyInclude, removeChild, removeParameter, setParent, setPolicyInclude
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

STYLE_RPC

public static final String STYLE_RPC
See Also:
Constant Field Values

STYLE_MSG

public static final String STYLE_MSG
See Also:
Constant Field Values

STYLE_DOC

public static final String STYLE_DOC
See Also:
Constant Field Values

SOAP_ACTION

public static final String SOAP_ACTION
See Also:
Constant Field Values
Constructor Detail

AxisOperation

public AxisOperation()

AxisOperation

public AxisOperation(QName name)
Method Detail

addMessage

public abstract void addMessage(AxisMessage message,
                                String label)

addMessageContext

public abstract void addMessageContext(MessageContext msgContext,
                                       OperationContext opContext)
                                throws AxisFault
Adds a message context into an operation context. Depending on MEPs, this method has to be overridden. Depending on the MEP operation description know how to fill the message context map in operationContext. As an example, if the MEP is IN-OUT then depending on messagable operation description should know how to keep them in correct locations.

Parameters:
msgContext - MessageContext
opContext - OperationContext
Throws:
AxisFault - AxisFault

addFaultMessageContext

public abstract void addFaultMessageContext(MessageContext msgContext,
                                            OperationContext opContext)
                                     throws AxisFault
Throws:
AxisFault

addModule

public void addModule(QName moduleName)

addModuleConfig

public void addModuleConfig(ModuleConfiguration moduleConfiguration)
Adds module configuration, if there is moduleConfig tag in operation.

Parameters:
moduleConfiguration -

engageModule

public final void engageModule(AxisModule moduleref,
                               AxisConfiguration axisConfig)
                        throws AxisFault
Engages a module. It is required to use this method.

Specified by:
engageModule in class AxisDescription
Parameters:
moduleref -
axisConfig -
Throws:
AxisFault

disengageModule

public void disengageModule(AxisModule module)

removeFromEngagedModuleList

public void removeFromEngagedModuleList(AxisModule module)
To remove module from engage module list

Parameters:
module -

addModuleOperations

public ArrayList addModuleOperations(AxisModule module,
                                     AxisConfiguration axisConfig,
                                     AxisService service)
                              throws AxisFault
Adds an operation to a service if a module is required to do so.

Parameters:
module -
Throws:
AxisFault

findForExistingOperationContext

public OperationContext findForExistingOperationContext(MessageContext msgContext)
                                                 throws AxisFault
Returns as existing OperationContext related to this message if one exists.

Parameters:
msgContext -
Returns:
Returns OperationContext.
Throws:
AxisFault

findOperationContext

public OperationContext findOperationContext(MessageContext msgContext,
                                             ServiceContext serviceContext)
                                      throws AxisFault
Finds a MEPContext for an incoming message. An incoming message can be of two states.

1)This is a new incoming message of a given MEP. 2)This message is a part of an MEP which has already begun.

The method is special cased for the two MEPs

#IN_ONLY #IN_OUT

for two reasons. First reason is the wide usage and the second being that the need for the MEPContext to be saved for further incoming messages.

In the event that MEP of this operation is different from the two MEPs defaulted above the decision of creating a new or this message relates to a MEP which already in business is decided by looking at the WSA Relates TO of the incoming message.

Parameters:
msgContext -
Throws:
AxisFault

registerOperationContext

public void registerOperationContext(MessageContext msgContext,
                                     OperationContext operationContext)
                              throws AxisFault
Throws:
AxisFault

registerMessageContext

public void registerMessageContext(MessageContext msgContext,
                                   OperationContext operationContext)
                            throws AxisFault
Throws:
AxisFault

getAxisSpecifMEPConstant

public int getAxisSpecifMEPConstant()
Maps the String URI of the Message exchange pattern to a integer. Further, in the first lookup, it will cache the looked up value so that the subsequent method calls are extremely efficient.


getEngagedModules

public Collection getEngagedModules()
Method getEngagedModules.


getMessage

public abstract AxisMessage getMessage(String label)

getMessageExchangePattern

public String getMessageExchangePattern()

getMessageReceiver

public MessageReceiver getMessageReceiver()

getModuleConfig

public ModuleConfiguration getModuleConfig(QName moduleName)

getModuleRefs

public ArrayList getModuleRefs()

getName

public QName getName()

getPhasesInFaultFlow

public abstract ArrayList getPhasesInFaultFlow()

getPhasesOutFaultFlow

public abstract ArrayList getPhasesOutFaultFlow()

getPhasesOutFlow

public abstract ArrayList getPhasesOutFlow()

getRemainingPhasesInFlow

public abstract ArrayList getRemainingPhasesInFlow()

getStyle

public String getStyle()

getWsamappingList

public ArrayList getWsamappingList()

isControlOperation

public boolean isControlOperation()

isParameterLocked

public boolean isParameterLocked(String parameterName)
Description copied from interface: ParameterInclude
Checks whether the parameter is locked at any level.

Specified by:
isParameterLocked in interface ParameterInclude
Overrides:
isParameterLocked in class AxisDescription

setControlOperation

public void setControlOperation(boolean controlOperation)

setMessageExchangePattern

public void setMessageExchangePattern(String mepURI)

setMessageReceiver

public void setMessageReceiver(MessageReceiver messageReceiver)

setName

public void setName(QName name)

setPhasesInFaultFlow

public abstract void setPhasesInFaultFlow(ArrayList list)

setPhasesOutFaultFlow

public abstract void setPhasesOutFaultFlow(ArrayList list)

setPhasesOutFlow

public abstract void setPhasesOutFlow(ArrayList list)

setRemainingPhasesInFlow

public abstract void setRemainingPhasesInFlow(ArrayList list)

setStyle

public void setStyle(String style)

setWsamappingList

public void setWsamappingList(ArrayList wsamappingList)

createClient

public OperationClient createClient(ServiceContext sc,
                                    Options options)

getKey

public Object getKey()
Specified by:
getKey in class AxisDescription

getFaultMessages

public ArrayList getFaultMessages()

setFaultMessages

public void setFaultMessages(AxisMessage faultMessage)

getSoapAction

public String getSoapAction()

setSoapAction

public void setSoapAction(String soapAction)

getInputAction

public String getInputAction()

getOutputAction

public String getOutputAction()

setOutputAction

public void setOutputAction(String act)

addFaultAction

public void addFaultAction(String faultName,
                           String action)

removeFaultAction

public void removeFaultAction(String faultName)

getFaultAction

public String getFaultAction(String faultName)

getFaultActionNames

public String[] getFaultActionNames()

getFaultAction

public String getFaultAction()

isEngaged

public boolean isEngaged(QName moduleName)
Specified by:
isEngaged in class AxisDescription