<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>OperationContext (Apache Axis2)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="OperationContext (Apache Axis2)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OperationContext.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/axis2/context/NamedValue.html" title="class in org.apache.axis2.context"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis2/context/OperationContextFactory.html" title="class in org.apache.axis2.context"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/context/OperationContext.html" target="_top">Frames</a></li>
<li><a href="OperationContext.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.axis2.context.AbstractContext">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.axis2.context</div>
<h2 title="Class OperationContext" class="title">Class OperationContext</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/axis2/context/AbstractContext.html" title="class in org.apache.axis2.context">org.apache.axis2.context.AbstractContext</a></li>
<li>
<ul class="inheritance">
<li>org.apache.axis2.context.OperationContext</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../org/apache/axis2/context/externalize/SafeSerializable.html" title="interface in org.apache.axis2.context.externalize">SafeSerializable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">OperationContext</span>
extends <a href="../../../../org/apache/axis2/context/AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a>
implements <a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a>, <a href="../../../../org/apache/axis2/context/externalize/SafeSerializable.html" title="interface in org.apache.axis2.context.externalize">SafeSerializable</a></pre>
<div class="block">An OperationContext represents a running "instance" of an operation, which is
 represented by an AxisOperation object. This concept is needed to allow
 messages to be grouped into operations as in WSDL 2.0-speak operations are
 essentially arbitrary message exchange patterns. So as messages are being
 exchanged the OperationContext remembers the state of where in the message
 exchange pattern it is in.
 <p/>
 The base implementation of OperationContext
 supports MEPs which have one input message and/or one output message. That
 is, it supports the all the MEPs that are in the WSDL 2.0 specification. In
 order to support another MEP one must extend this class and register its
 creation in the OperationContexFactory.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.apache.axis2.context.OperationContext">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.axis2.context.AbstractContext">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.axis2.context.<a href="../../../../org/apache/axis2/context/AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></h3>
<code><a href="../../../../org/apache/axis2/context/AbstractContext.html#COPY_PROPERTIES">COPY_PROPERTIES</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#lastTouchedTime">lastTouchedTime</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#parent">parent</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#properties">properties</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#OperationContext()">OperationContext</a></strong>()</code>
<div class="block">Simple constructor (needed for deserialization, shouldn't be used otherwise!)</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#OperationContext(org.apache.axis2.description.AxisOperation, org.apache.axis2.context.ServiceContext)">OperationContext</a></strong>(<a href="../../../../org/apache/axis2/description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;axisOperation,
                <a href="../../../../org/apache/axis2/context/ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a>&nbsp;serviceContext)</code>
<div class="block">Constructs a new OperationContext.</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#activate(org.apache.axis2.context.ConfigurationContext)">activate</a></strong>(<a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;cc)</code>
<div class="block">This method checks to see if additional work needs to be
 done in order to complete the object reconstitution.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#addMessageContext(org.apache.axis2.context.MessageContext)">addMessageContext</a></strong>(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msgContext)</code>
<div class="block">When a new message is added to the <code>MEPContext</code> the logic
 should be included remove the MEPContext from the table in the
 <code>EngineContext</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#cleanup()">cleanup</a></strong>()</code>
<div class="block">Removes the pointers to this <code>OperationContext</code> in the
 <code>ConfigurationContext</code>'s OperationContextMap so that this
 <code>OperationContext</code> will eventually get garbage collected
 along with the <code>MessageContext</code>'s it contains.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getAxisOperation()">getAxisOperation</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getConfigurationContext()">getConfigurationContext</a></strong>()</code>
<div class="block">Returns the EngineContext in which the parent ServiceContext lives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getLogCorrelationIDString()">getLogCorrelationIDString</a></strong>()</code>
<div class="block">Get the ID associated with this object instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getMessageContext(java.lang.String)">getMessageContext</a></strong>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;messageLabel)</code>
<div class="block">Get the message context identified by a given label.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&gt;</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getMessageContexts()">getMessageContexts</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getOperationName()">getOperationName</a></strong>()</code>
<div class="block">Get the name associated with the operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getRootContext()">getRootContext</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis2/context/ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getServiceContext()">getServiceContext</a></strong>()</code>
<div class="block">Returns the ServiceContext in which this OperationContext lives.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getServiceGroupName()">getServiceGroupName</a></strong>()</code>
<div class="block">Get the name associated with the service group.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#getServiceName()">getServiceName</a></strong>()</code>
<div class="block">Get the name associated with the service.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#isComplete()">isComplete</a></strong>()</code>
<div class="block">Checks to see if the MEP is complete. i.e. whether all the messages that
 are associated with the MEP has arrived and MEP is complete.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#isEquivalent(org.apache.axis2.context.OperationContext)">isEquivalent</a></strong>(<a href="../../../../org/apache/axis2/context/OperationContext.html" title="class in org.apache.axis2.context">OperationContext</a>&nbsp;ctx)</code>
<div class="block">Compares key parts of the state from the current instance of
 this class with the specified instance to see if they are
 equivalent.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#isolateMessageContext(org.apache.axis2.context.MessageContext)">isolateMessageContext</a></strong>(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)</code>
<div class="block">Isolate the specified message context object
 to prepare for serialization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#readExternal(java.io.ObjectInput)">readExternal</a></strong>(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;inObject)</code>
<div class="block">Restore the contents of the object that was previously saved.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#removeMessageContext(java.lang.String)">removeMessageContext</a></strong>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;label)</code>
<div class="block">Remove the indicated message context.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#restoreMessageContext(org.apache.axis2.context.MessageContext)">restoreMessageContext</a></strong>(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msg)</code>
<div class="block">Restore the specified MessageContext object in the
 table used to hold the message contexts associated
 with this operation.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#setComplete(boolean)">setComplete</a></strong>(boolean&nbsp;complete)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#setKey(java.lang.String)">setKey</a></strong>(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/OperationContext.html#writeExternal(java.io.ObjectOutput)">writeExternal</a></strong>(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;o)</code>
<div class="block">Save the contents of this object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axis2.context.AbstractContext">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.axis2.context.<a href="../../../../org/apache/axis2/context/AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></h3>
<code><a href="../../../../org/apache/axis2/context/AbstractContext.html#clearPropertyDifferences()">clearPropertyDifferences</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#flush()">flush</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getLastTouchedTime()">getLastTouchedTime</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getLocalProperty(java.lang.String)">getLocalProperty</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getParent()">getParent</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getProperties()">getProperties</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getProperty(java.lang.String)">getProperty</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getPropertyDifferences()">getPropertyDifferences</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getPropertyNames()">getPropertyNames</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#getPropertyNonReplicable(java.lang.String)">getPropertyNonReplicable</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#isAncestor(org.apache.axis2.context.AbstractContext)">isAncestor</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#mergeProperties(java.util.Map)">mergeProperties</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#removeProperty(java.lang.String)">removeProperty</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#removePropertyNonReplicable(java.lang.String)">removePropertyNonReplicable</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#setLastTouchedTime(long)">setLastTouchedTime</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#setNonReplicableProperty(java.lang.String, java.lang.Object)">setNonReplicableProperty</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#setParent(org.apache.axis2.context.AbstractContext)">setParent</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#setProperties(java.util.Map)">setProperties</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#setProperty(java.lang.String, java.lang.Object)">setProperty</a>, <a href="../../../../org/apache/axis2/context/AbstractContext.html#touch()">touch</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="OperationContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>OperationContext</h4>
<pre>public&nbsp;OperationContext()</pre>
<div class="block">Simple constructor (needed for deserialization, shouldn't be used otherwise!)</div>
</li>
</ul>
<a name="OperationContext(org.apache.axis2.description.AxisOperation, org.apache.axis2.context.ServiceContext)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OperationContext</h4>
<pre>public&nbsp;OperationContext(<a href="../../../../org/apache/axis2/description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;axisOperation,
                <a href="../../../../org/apache/axis2/context/ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a>&nbsp;serviceContext)</pre>
<div class="block">Constructs a new OperationContext.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>axisOperation</code> - the AxisOperation whose running instances' state this
                       OperationContext represents.</dd><dd><code>serviceContext</code> - the parent ServiceContext representing any state related to
                       the set of all operations of the service.</dd></dl>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="addMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMessageContext</h4>
<pre>public&nbsp;void&nbsp;addMessageContext(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msgContext)
                       throws <a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">When a new message is added to the <code>MEPContext</code> the logic
 should be included remove the MEPContext from the table in the
 <code>EngineContext</code>. Example: IN_IN_OUT At the second IN
 message the MEPContext should be removed from the AxisOperation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msgContext</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd></dl>
</li>
</ul>
<a name="cleanup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanup</h4>
<pre>public&nbsp;void&nbsp;cleanup()</pre>
<div class="block">Removes the pointers to this <code>OperationContext</code> in the
 <code>ConfigurationContext</code>'s OperationContextMap so that this
 <code>OperationContext</code> will eventually get garbage collected
 along with the <code>MessageContext</code>'s it contains. Note that if
 the caller wants to make sure its safe to clean up this OperationContext
 he should call isComplete() first. However, in cases like IN_OPTIONAL_OUT
 and OUT_OPTIONAL_IN, it is possibe this will get called without the MEP
 being complete due to the optional nature of the MEP.</div>
</li>
</ul>
<a name="getAxisOperation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAxisOperation</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis2/description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;getAxisOperation()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns the axisOperation.</dd></dl>
</li>
</ul>
<a name="getConfigurationContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfigurationContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;getConfigurationContext()</pre>
<div class="block">Returns the EngineContext in which the parent ServiceContext lives.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns parent ServiceContext's parent EngineContext.</dd></dl>
</li>
</ul>
<a name="getMessageContext(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;getMessageContext(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;messageLabel)
                                 throws <a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Get the message context identified by a given label.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>messageLabel</code> - The label of the message context to retrieve.
                     This should be one of the <code>MESSAGE_LABEL_xxx</code> constants
                     defined in <code>WSDLConstants</code>.</dd>
<dt><span class="strong">Returns:</span></dt><dd>the message context for the given label, or <code>null</code> if no
         message context was found</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code> - never</dd></dl>
</li>
</ul>
<a name="removeMessageContext(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMessageContext</h4>
<pre>public&nbsp;void&nbsp;removeMessageContext(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;label)
                          throws <a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Remove the indicated message context.
 Example Usage: The exchange is aborted and we need to 
 undo the work and free resources.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>label</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd></dl>
</li>
</ul>
<a name="getMessageContexts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageContexts</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</a>&lt;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&gt;&nbsp;getMessageContexts()</pre>
</li>
</ul>
<a name="getServiceContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis2/context/ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a>&nbsp;getServiceContext()</pre>
<div class="block">Returns the ServiceContext in which this OperationContext lives.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Returns parent ServiceContext.</dd></dl>
</li>
</ul>
<a name="isComplete()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isComplete</h4>
<pre>public&nbsp;boolean&nbsp;isComplete()</pre>
<div class="block">Checks to see if the MEP is complete. i.e. whether all the messages that
 are associated with the MEP has arrived and MEP is complete.</div>
</li>
</ul>
<a name="setComplete(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setComplete</h4>
<pre>public&nbsp;void&nbsp;setComplete(boolean&nbsp;complete)</pre>
</li>
</ul>
<a name="setKey(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKey</h4>
<pre>public&nbsp;void&nbsp;setKey(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;key)</pre>
</li>
</ul>
<a name="writeExternal(java.io.ObjectOutput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeExternal</h4>
<pre>public&nbsp;void&nbsp;writeExternal(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;o)
                   throws <a href="https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Save the contents of this object.
 <p/>
 NOTE: Transient fields and static fields are not saved.
 Also, objects that represent "static" data are
 not saved, except for enough information to be
 able to find matching objects when the message
 context is re-constituted.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true#writeExternal(java.io.ObjectOutput)" title="class or interface in java.io">writeExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>out</code> - The stream to write the object contents to</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
</li>
</ul>
<a name="readExternal(java.io.ObjectInput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readExternal</h4>
<pre>public&nbsp;void&nbsp;readExternal(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;inObject)
                  throws <a href="https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>,
                         <a href="https://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
<div class="block">Restore the contents of the object that was previously saved.
 <p/>
 NOTE: The field data must read back in the same order and type
 as it was written.  Some data will need to be validated when
 resurrected.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true#readExternal(java.io.ObjectInput)" title="class or interface in java.io">readExternal</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>in</code> - The stream to read the object contents from</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd>
<dd><code><a href="https://docs.oracle.com/javase/7/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></code></dd></dl>
</li>
</ul>
<a name="activate(org.apache.axis2.context.ConfigurationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>activate</h4>
<pre>public&nbsp;void&nbsp;activate(<a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;cc)</pre>
<div class="block">This method checks to see if additional work needs to be
 done in order to complete the object reconstitution.
 Some parts of the object restored from the readExternal()
 cannot be completed until we have a configurationContext
 from the active engine. The configurationContext is used
 to help this object to plug back into the engine's
 configuration and deployment objects.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>cc</code> - The configuration context object representing the active configuration</dd></dl>
</li>
</ul>
<a name="isolateMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isolateMessageContext</h4>
<pre>public&nbsp;void&nbsp;isolateMessageContext(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)</pre>
<div class="block">Isolate the specified message context object
 to prepare for serialization.  Instead of
 saving the entire message context object,
 just setup some metadata about the message
 context.
 <p/>
 Note: this will remove the specified
 message context object from the message context
 table.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mc</code> - The message context object</dd></dl>
</li>
</ul>
<a name="restoreMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restoreMessageContext</h4>
<pre>public&nbsp;void&nbsp;restoreMessageContext(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msg)</pre>
<div class="block">Restore the specified MessageContext object in the
 table used to hold the message contexts associated
 with this operation.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>msg</code> - The message context object</dd></dl>
</li>
</ul>
<a name="getOperationName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperationName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getOperationName()</pre>
<div class="block">Get the name associated with the operation.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The name String</dd></dl>
</li>
</ul>
<a name="getServiceName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServiceName()</pre>
<div class="block">Get the name associated with the service.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The name String</dd></dl>
</li>
</ul>
<a name="getServiceGroupName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceGroupName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getServiceGroupName()</pre>
<div class="block">Get the name associated with the service group.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>The name String</dd></dl>
</li>
</ul>
<a name="isEquivalent(org.apache.axis2.context.OperationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEquivalent</h4>
<pre>public&nbsp;boolean&nbsp;isEquivalent(<a href="../../../../org/apache/axis2/context/OperationContext.html" title="class in org.apache.axis2.context">OperationContext</a>&nbsp;ctx)</pre>
<div class="block">Compares key parts of the state from the current instance of
 this class with the specified instance to see if they are
 equivalent.
 <p/>
 This differs from the java.lang.Object.equals() method in
 that the equals() method generally looks at both the
 object identity (location in memory) and the object state
 (data).
 <p/></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ctx</code> - The object to compare with</dd>
<dt><span class="strong">Returns:</span></dt><dd>TRUE if this object is equivalent with the specified object
         that is, key fields match
         FALSE, otherwise</dd></dl>
</li>
</ul>
<a name="getLogCorrelationIDString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogCorrelationIDString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getLogCorrelationIDString()</pre>
<div class="block">Get the ID associated with this object instance.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>A string that can be output to a log file as an identifier
         for this object instance.  It is suitable for matching related log
         entries.</dd></dl>
</li>
</ul>
<a name="getRootContext()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRootContext</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;getRootContext()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis2/context/AbstractContext.html#getRootContext()">getRootContext</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/axis2/context/AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OperationContext.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/axis2/context/NamedValue.html" title="class in org.apache.axis2.context"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis2/context/OperationContextFactory.html" title="class in org.apache.axis2.context"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis2/context/OperationContext.html" target="_top">Frames</a></li>
<li><a href="OperationContext.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#fields_inherited_from_class_org.apache.axis2.context.AbstractContext">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>