org.apache.axis2.description
Class OperationDescription

java.lang.Object
  extended byorg.apache.wsdl.impl.ComponentImpl
      extended byorg.apache.wsdl.impl.ExtensibleComponentImpl
          extended byorg.apache.wsdl.impl.WSDLOperationImpl
              extended byorg.apache.axis2.description.OperationDescription
All Implemented Interfaces:
org.apache.wsdl.Component, DescriptionConstants, org.apache.wsdl.ExtensibleComponent, ParameterInclude, org.apache.wsdl.WSDLConstants, org.apache.wsdl.WSDLOperation

public class OperationDescription
extends org.apache.wsdl.impl.WSDLOperationImpl
implements ParameterInclude, org.apache.wsdl.WSDLOperation, DescriptionConstants, org.apache.wsdl.WSDLConstants


Field Summary
 
Fields inherited from class org.apache.wsdl.impl.ComponentImpl
componentProperties, documentation
 
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_MESSAGE_DIRECTION_IN, WSDL_MESSAGE_DIRECTION_OUT, WSDL_USE_ENCODED, WSDL_USE_LITERAL, WSDL1_1_NAMESPACE, WSDL2_0_NAMESPACE
 
Constructor Summary
OperationDescription()
           
OperationDescription(javax.xml.namespace.QName name)
           
 
Method Summary
 void addModule(javax.xml.namespace.QName moduleName)
           
 void addModuleConfig(ModuleConfiguration moduleConfiguration)
          Adding module configuration , if there is moduleConfig tag in operation
 void addParameter(Parameter param)
          Method addParameter
 void addToEngageModuleList(ModuleDescription moduleName)
           
 void engageModule(ModuleDescription moduleref)
          To ebgage a module it is reuired to use this method
 OperationContext findForExistingOperationContext(MessageContext msgContext)
          This will not create a new operation context if there is no one already.
 OperationContext findOperationContext(MessageContext msgContext, ServiceContext serviceContext)
          This method is responsible for finding a MEPContext for an incomming messages.
 int getAxisSpecifMEPConstant()
          This method will simply map the String URI of the Message exchange pattern to a integer.
 MessageReceiver getMessageReceiver()
           
 ModuleConfiguration getModuleConfig(javax.xml.namespace.QName moduleName)
           
 java.util.ArrayList getModuleRefs()
           
 java.util.Collection getModules()
          Method getEngadgedModules
 Parameter getParameter(java.lang.String name)
          Method getParameter
 java.util.ArrayList getParameters()
          To get all the parameters in a given description
 ServiceDescription getParent()
           
 java.util.ArrayList getPhasesInFaultFlow()
           
 java.util.ArrayList getPhasesOutFaultFlow()
           
 java.util.ArrayList getPhasesOutFlow()
           
 java.util.ArrayList getRemainingPhasesInFlow()
           
 boolean isParamterLocked(java.lang.String paramterName)
           
 void registerOperationContext(MessageContext msgContext, OperationContext operationContext)
           
 void setMessageReceiver(MessageReceiver messageReceiver)
           
 void setParent(ServiceDescription parent)
           
 void setPhasesInFaultFlow(java.util.ArrayList list)
           
 void setPhasesOutFaultFlow(java.util.ArrayList list)
           
 void setPhasesOutFlow(java.util.ArrayList list)
           
 void setRemainingPhasesInFlow(java.util.ArrayList list)
           
 
Methods inherited from class org.apache.wsdl.impl.WSDLOperationImpl
addInFault, addOutFault, getInfaults, getInputMessage, getMessageExchangePattern, getName, getOutfaults, getOutputMessage, getStyle, getTargetnamespace, isSafe, setInfaults, setInputMessage, setMessageExchangePattern, setName, setOutfaults, setOutputMessage, setSafety, setStyle
 
Methods inherited from class org.apache.wsdl.impl.ExtensibleComponentImpl
addFeature, addProperty, getFeatures, getProperties
 
Methods inherited from class org.apache.wsdl.impl.ComponentImpl
addExtensibilityElement, addExtensibleAttributes, getComponentProperties, getComponentProperty, getDocumentation, getExtensibilityAttributes, getExtensibilityElements, getMetadataBag, setComponentProperties, setComponentProperty, setDocumentation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.wsdl.WSDLOperation
addInFault, addOutFault, getInfaults, getInputMessage, getMessageExchangePattern, getName, getOutfaults, getOutputMessage, getStyle, getTargetnamespace, isSafe, setInfaults, setInputMessage, setMessageExchangePattern, setName, setOutfaults, setOutputMessage, setSafety, setStyle
 
Methods inherited from interface org.apache.wsdl.ExtensibleComponent
addFeature, addProperty, getFeatures, getProperties
 
Methods inherited from interface org.apache.wsdl.Component
addExtensibilityElement, addExtensibleAttributes, getComponentProperties, getComponentProperty, getExtensibilityAttributes, getExtensibilityElements, getMetadataBag, setComponentProperties, setComponentProperty
 

Constructor Detail

OperationDescription

public OperationDescription()

OperationDescription

public OperationDescription(javax.xml.namespace.QName name)
Method Detail

engageModule

public void engageModule(ModuleDescription moduleref)
                  throws AxisFault
To ebgage a module it is reuired to use this method

Parameters:
moduleref -
Throws:
AxisFault

addToEngageModuleList

public void addToEngageModuleList(ModuleDescription moduleName)

getModules

public java.util.Collection getModules()
Method getEngadgedModules

Returns:

addParameter

public void addParameter(Parameter param)
                  throws AxisFault
Method addParameter

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

getParameter

public Parameter getParameter(java.lang.String name)
Method getParameter

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

getParameters

public java.util.ArrayList getParameters()
Description copied from interface: ParameterInclude
To get all the parameters in a given description

Specified by:
getParameters in interface ParameterInclude
Returns:

findOperationContext

public OperationContext findOperationContext(MessageContext msgContext,
                                             ServiceContext serviceContext)
                                      throws AxisFault
This method is responsible for finding a MEPContext for an incomming messages. An incomming 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 -
Returns:
Throws:
AxisFault

findForExistingOperationContext

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

Parameters:
msgContext -
Returns:
Throws:
AxisFault

registerOperationContext

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

getMessageReceiver

public MessageReceiver getMessageReceiver()

setMessageReceiver

public void setMessageReceiver(MessageReceiver messageReceiver)

getAxisSpecifMEPConstant

public int getAxisSpecifMEPConstant()
This method will simply map the String URI of the Message exchange pattern to a integer. Further in the first lookup it will cash the looked up value so that the subsequent method calls will be extremely efficient.

Returns:

getPhasesInFaultFlow

public java.util.ArrayList getPhasesInFaultFlow()
Returns:

getPhasesOutFaultFlow

public java.util.ArrayList getPhasesOutFaultFlow()
Returns:

getPhasesOutFlow

public java.util.ArrayList getPhasesOutFlow()
Returns:

getRemainingPhasesInFlow

public java.util.ArrayList getRemainingPhasesInFlow()
Returns:

setPhasesInFaultFlow

public void setPhasesInFaultFlow(java.util.ArrayList list)
Parameters:
list -

setPhasesOutFaultFlow

public void setPhasesOutFaultFlow(java.util.ArrayList list)
Parameters:
list -

setPhasesOutFlow

public void setPhasesOutFlow(java.util.ArrayList list)
Parameters:
list -

setRemainingPhasesInFlow

public void setRemainingPhasesInFlow(java.util.ArrayList list)
Parameters:
list -

addModule

public void addModule(javax.xml.namespace.QName moduleName)

getModuleRefs

public java.util.ArrayList getModuleRefs()

getParent

public ServiceDescription getParent()

setParent

public void setParent(ServiceDescription parent)

isParamterLocked

public boolean isParamterLocked(java.lang.String paramterName)
Specified by:
isParamterLocked in interface ParameterInclude

addModuleConfig

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

Parameters:
moduleConfiguration -

getModuleConfig

public ModuleConfiguration getModuleConfig(javax.xml.namespace.QName moduleName)