org.apache.axis2.description
Class AxisOperation

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

public abstract class AxisOperation
extends Object
implements ParameterInclude, DescriptionConstants, org.apache.wsdl.WSDLConstants


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.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, SERVICE_CLASS_NAME, STYLE_KEY
 
Fields inherited from interface org.apache.wsdl.WSDLConstants
MEP_CONSTANT_IN_ONLY, MEP_CONSTANT_IN_OPTIONAL_OUT, MEP_CONSTANT_IN_OUT, MEP_CONSTANT_INVALID, MEP_CONSTANT_OUT_IN, MEP_CONSTANT_OUT_ONLY, MEP_CONSTANT_OUT_OPTIONAL_IN, MEP_CONSTANT_ROBUST_IN_ONLY, MEP_CONSTANT_ROBUST_OUT_ONLY, MEP_URI_IN_ONLY, MEP_URI_IN_OPTIONAL_OUT, MEP_URI_IN_OUT, MEP_URI_OUT_IN, MEP_URI_OUT_ONLY, MEP_URI_OUT_OPTIONAL_IN, MEP_URI_ROBUST_IN_ONLY, MEP_URI_ROBUST_OUT_ONLY, MESSAGE_LABEL_IN, MESSAGE_LABEL_IN_VALUE, MESSAGE_LABEL_OUT, MESSAGE_LABEL_OUT_VALUE, WSDL_1_1, WSDL_2_0, WSDL_MESSAGE_DIRECTION_IN, WSDL_MESSAGE_DIRECTION_OUT, WSDL_USE_ENCODED, WSDL_USE_LITERAL, WSDL1_1_NAMESPACE, WSDL2_0_NAMESPACE
 
Constructor Summary
AxisOperation()
           
AxisOperation(QName name)
           
 
Method Summary
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.
 void addParameter(Parameter param)
          Method addParameter.
 OperationClient createClient(ServiceContext sc, Options options)
           
 void deserializeParameters(OMElement parameterElement)
           
 void engageModule(ModuleDescription moduleref, AxisConfiguration axisConfig)
          Engages a module.
 OperationContext findForExistingOperationContext(MessageContext msgContext)
          Creates a new operation context if there is not one already.
 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.
abstract  AxisMessage getMessage(String label)
           
 String getMessageExchangePattern()
           
 MessageReceiver getMessageReceiver()
           
 ModuleConfiguration getModuleConfig(QName moduleName)
           
 ArrayList getModuleRefs()
           
 QName getName()
           
 Parameter getParameter(String name)
          Method getParameter.
 ArrayList getParameters()
          Gets all the parameters in a given description.
 AxisService getParent()
           
abstract  ArrayList getPhasesInFaultFlow()
           
abstract  ArrayList getPhasesOutFaultFlow()
           
abstract  ArrayList getPhasesOutFlow()
           
 PolicyInclude getPolicyInclude()
           
abstract  ArrayList getRemainingPhasesInFlow()
           
 String getStyle()
           
 ArrayList getWsamappingList()
           
 boolean isControlOperation()
           
 boolean isParameterLocked(String parameterName)
          Checks whether the parameter is locked at any level.
 void registerOperationContext(MessageContext msgContext, OperationContext operationContext)
           
 void setControlOperation(boolean controlOperation)
           
 void setMessageExchangePattern(String mepURI)
           
 void setMessageReceiver(MessageReceiver messageReceiver)
           
 void setName(QName name)
           
 void setParent(AxisService parent)
           
abstract  void setPhasesInFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFaultFlow(ArrayList list)
           
abstract  void setPhasesOutFlow(ArrayList list)
           
 void setPolicyInclude(PolicyInclude policyInclude)
           
abstract  void setRemainingPhasesInFlow(ArrayList list)
           
 void setStyle(String style)
           
 void setWsamappingList(ArrayList wsamappingList)
           
 
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

addModule

public void addModule(QName moduleName)

addModuleConfig

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

Parameters:
moduleConfiguration -

addParameter

public void addParameter(Parameter param)
                  throws AxisFault
Method addParameter.

Specified by:
addParameter in interface ParameterInclude
Parameters:
param - Parameter that is added
Throws:
AxisFault

deserializeParameters

public void deserializeParameters(OMElement parameterElement)
                           throws AxisFault
Specified by:
deserializeParameters in interface ParameterInclude
Throws:
AxisFault

engageModule

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

Parameters:
moduleref -
Throws:
AxisFault

findForExistingOperationContext

public OperationContext findForExistingOperationContext(MessageContext msgContext)
                                                 throws AxisFault
Creates a new operation context if there is not one already.

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 incomming 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 incomming messages.

In the event that MEP of this operation is different from the two MEPs deafulted above the decession 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 incomming message.

Parameters:
msgContext -
Throws:
AxisFault

registerOperationContext

public void registerOperationContext(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()

getParameter

public Parameter getParameter(String name)
Method getParameter.

Specified by:
getParameter in interface ParameterInclude
Parameters:
name - Name of the parameter
Returns:
Returns Parameter.

getParameters

public ArrayList getParameters()
Description copied from interface: ParameterInclude
Gets all the parameters in a given description.

Specified by:
getParameters in interface ParameterInclude
Returns:
Returns ArrayList.

getParent

public AxisService getParent()

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

setControlOperation

public void setControlOperation(boolean controlOperation)

setMessageExchangePattern

public void setMessageExchangePattern(String mepURI)

setMessageReceiver

public void setMessageReceiver(MessageReceiver messageReceiver)

setName

public void setName(QName name)

setParent

public void setParent(AxisService parent)

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)

setPolicyInclude

public void setPolicyInclude(PolicyInclude policyInclude)

getPolicyInclude

public PolicyInclude getPolicyInclude()