<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>OperationContext (Apache Axis2)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="OperationContext (Apache Axis2)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.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" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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 id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.axis2.context</a></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" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="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><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" class="externalLink">Externalizable</a></code>, <code><a href="https://docs.oracle.com/javase/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink">Serializable</a></code>, <code><a href="externalize/SafeSerializable.html" title="interface in org.apache.axis2.context.externalize">SafeSerializable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">OperationContext</span>
extends <a href="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" class="externalLink">Externalizable</a>, <a href="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="seeLabel">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 =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.axis2.context.AbstractContext">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.axis2.context.<a href="AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></h3>
<code><a href="AbstractContext.html#COPY_PROPERTIES">COPY_PROPERTIES</a>, <a href="AbstractContext.html#lastTouchedTime">lastTouchedTime</a>, <a href="AbstractContext.html#parent">parent</a>, <a href="AbstractContext.html#properties">properties</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">OperationContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Simple constructor (needed for deserialization, shouldn't be used otherwise!)</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.axis2.description.AxisOperation,org.apache.axis2.context.ServiceContext)">OperationContext</a></span>&#8203;(<a href="../description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;axisOperation,
                <a href="ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a>&nbsp;serviceContext)</code></th>
<td class="colLast">
<div class="block">Constructs a new OperationContext.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#activate(org.apache.axis2.context.ConfigurationContext)">activate</a></span>&#8203;(<a href="ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;cc)</code></th>
<td class="colLast">
<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 id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addMessageContext(org.apache.axis2.context.MessageContext)">addMessageContext</a></span>&#8203;(<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msgContext)</code></th>
<td class="colLast">
<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 id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#cleanup()">cleanup</a></span>()</code></th>
<td class="colLast">
<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 id="i3" class="rowColor">
<td class="colFirst"><code><a href="../description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAxisOperation()">getAxisOperation</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getConfigurationContext()">getConfigurationContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the EngineContext in which the parent ServiceContext lives.</div>
</td>
</tr>
<tr id="i5" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLogCorrelationIDString()">getLogCorrelationIDString</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the ID associated with this object instance.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMessageContext(java.lang.String)">getMessageContext</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;messageLabel)</code></th>
<td class="colLast">
<div class="block">Get the message context identified by a given label.</div>
</td>
</tr>
<tr id="i7" 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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMessageContexts()">getMessageContexts</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getOperationName()">getOperationName</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the name associated with the operation.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRootContext()">getRootContext</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="ServiceContext.html" title="class in org.apache.axis2.context">ServiceContext</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServiceContext()">getServiceContext</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the ServiceContext in which this OperationContext lives.</div>
</td>
</tr>
<tr id="i11" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServiceGroupName()">getServiceGroupName</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the name associated with the service group.</div>
</td>
</tr>
<tr id="i12" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getServiceName()">getServiceName</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the name associated with the service.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isComplete()">isComplete</a></span>()</code></th>
<td class="colLast">
<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 id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEquivalent(org.apache.axis2.context.OperationContext)">isEquivalent</a></span>&#8203;(<a href="OperationContext.html" title="class in org.apache.axis2.context">OperationContext</a>&nbsp;ctx)</code></th>
<td class="colLast">
<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 id="i15" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isolateMessageContext(org.apache.axis2.context.MessageContext)">isolateMessageContext</a></span>&#8203;(<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)</code></th>
<td class="colLast">
<div class="block">Isolate the specified message context object
 to prepare for serialization.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readExternal(java.io.ObjectInput)">readExternal</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectInput</a>&nbsp;inObject)</code></th>
<td class="colLast">
<div class="block">Restore the contents of the object that was previously saved.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeMessageContext(java.lang.String)">removeMessageContext</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;label)</code></th>
<td class="colLast">
<div class="block">Remove the indicated message context.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#restoreMessageContext(org.apache.axis2.context.MessageContext)">restoreMessageContext</a></span>&#8203;(<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msg)</code></th>
<td class="colLast">
<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 id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setComplete(boolean)">setComplete</a></span>&#8203;(boolean&nbsp;complete)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setKey(java.lang.String)">setKey</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeExternal(java.io.ObjectOutput)">writeExternal</a></span>&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">ObjectOutput</a>&nbsp;o)</code></th>
<td class="colLast">
<div class="block">Save the contents of this object.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.axis2.context.AbstractContext">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.axis2.context.<a href="AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></h3>
<code><a href="AbstractContext.html#clearPropertyDifferences()">clearPropertyDifferences</a>, <a href="AbstractContext.html#flush()">flush</a>, <a href="AbstractContext.html#getLastTouchedTime()">getLastTouchedTime</a>, <a href="AbstractContext.html#getLocalProperty(java.lang.String)">getLocalProperty</a>, <a href="AbstractContext.html#getParent()">getParent</a>, <a href="AbstractContext.html#getProperties()">getProperties</a>, <a href="AbstractContext.html#getProperty(java.lang.String)">getProperty</a>, <a href="AbstractContext.html#getPropertyDifferences()">getPropertyDifferences</a>, <a href="AbstractContext.html#getPropertyNames()">getPropertyNames</a>, <a href="AbstractContext.html#getPropertyNonReplicable(java.lang.String)">getPropertyNonReplicable</a>, <a href="AbstractContext.html#isAncestor(org.apache.axis2.context.AbstractContext)">isAncestor</a>, <a href="AbstractContext.html#mergeProperties(java.util.Map)">mergeProperties</a>, <a href="AbstractContext.html#removeProperty(java.lang.String)">removeProperty</a>, <a href="AbstractContext.html#removePropertyNonReplicable(java.lang.String)">removePropertyNonReplicable</a>, <a href="AbstractContext.html#setLastTouchedTime(long)">setLastTouchedTime</a>, <a href="AbstractContext.html#setNonReplicableProperty(java.lang.String,java.lang.Object)">setNonReplicableProperty</a>, <a href="AbstractContext.html#setParent(org.apache.axis2.context.AbstractContext)">setParent</a>, <a href="AbstractContext.html#setProperties(java.util.Map)">setProperties</a>, <a href="AbstractContext.html#setProperty(java.lang.String,java.lang.Object)">setProperty</a>, <a href="AbstractContext.html#touch()">touch</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!--   -->
</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 id="&lt;init&gt;(org.apache.axis2.description.AxisOperation,org.apache.axis2.context.ServiceContext)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>OperationContext</h4>
<pre>public&nbsp;OperationContext&#8203;(<a href="../description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;axisOperation,
                        <a href="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="paramLabel">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>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="addMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMessageContext</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addMessageContext&#8203;(<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;msgContext)
                       throws <a href="../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="paramLabel">Parameters:</span></dt>
<dd><code>msgContext</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd>
</dl>
</li>
</ul>
<a id="cleanup()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>cleanup</h4>
<pre class="methodSignature">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 id="getAxisOperation()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAxisOperation</h4>
<pre class="methodSignature">public&nbsp;<a href="../description/AxisOperation.html" title="class in org.apache.axis2.description">AxisOperation</a>&nbsp;getAxisOperation()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Returns the axisOperation.</dd>
</dl>
</li>
</ul>
<a id="getConfigurationContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConfigurationContext</h4>
<pre class="methodSignature">public&nbsp;<a href="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="returnLabel">Returns:</span></dt>
<dd>Returns parent ServiceContext's parent EngineContext.</dd>
</dl>
</li>
</ul>
<a id="getMessageContext(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageContext</h4>
<pre class="methodSignature">public&nbsp;<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;getMessageContext&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;messageLabel)
                                 throws <a href="../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="paramLabel">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="returnLabel">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="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code> - never</dd>
</dl>
</li>
</ul>
<a id="removeMessageContext(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeMessageContext</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeMessageContext&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;label)
                          throws <a href="../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="paramLabel">Parameters:</span></dt>
<dd><code>label</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd>
</dl>
</li>
</ul>
<a id="getMessageContexts()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageContexts</h4>
<pre class="methodSignature">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" class="externalLink">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" class="externalLink">String</a>,&#8203;<a href="MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&gt;&nbsp;getMessageContexts()</pre>
</li>
</ul>
<a id="getServiceContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceContext</h4>
<pre class="methodSignature">public&nbsp;<a href="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="returnLabel">Returns:</span></dt>
<dd>Returns parent ServiceContext.</dd>
</dl>
</li>
</ul>
<a id="isComplete()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isComplete</h4>
<pre class="methodSignature">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 id="setComplete(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setComplete</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setComplete&#8203;(boolean&nbsp;complete)</pre>
</li>
</ul>
<a id="setKey(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setKey</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setKey&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;key)</pre>
</li>
</ul>
<a id="writeExternal(java.io.ObjectOutput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeExternal</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeExternal&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io" class="externalLink">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" class="externalLink">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><span class="overrideSpecifyLabel">Specified by:</span></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" class="externalLink">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" class="externalLink">Externalizable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The stream to write the object contents to</dd>
<dt><span class="throwsLabel">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" class="externalLink">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="readExternal(java.io.ObjectInput)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readExternal</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;readExternal&#8203;(<a href="https://docs.oracle.com/javase/7/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io" class="externalLink">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" class="externalLink">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" class="externalLink">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><span class="overrideSpecifyLabel">Specified by:</span></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" class="externalLink">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" class="externalLink">Externalizable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - The stream to read the object contents from</dd>
<dt><span class="throwsLabel">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" class="externalLink">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" class="externalLink">ClassNotFoundException</a></code></dd>
</dl>
</li>
</ul>
<a id="activate(org.apache.axis2.context.ConfigurationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>activate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;activate&#8203;(<a href="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="paramLabel">Parameters:</span></dt>
<dd><code>cc</code> - The configuration context object representing the active configuration</dd>
</dl>
</li>
</ul>
<a id="isolateMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isolateMessageContext</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;isolateMessageContext&#8203;(<a href="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="paramLabel">Parameters:</span></dt>
<dd><code>mc</code> - The message context object</dd>
</dl>
</li>
</ul>
<a id="restoreMessageContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>restoreMessageContext</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;restoreMessageContext&#8203;(<a href="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="paramLabel">Parameters:</span></dt>
<dd><code>msg</code> - The message context object</dd>
</dl>
</li>
</ul>
<a id="getOperationName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOperationName</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getOperationName()</pre>
<div class="block">Get the name associated with the operation.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name String</dd>
</dl>
</li>
</ul>
<a id="getServiceName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceName</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getServiceName()</pre>
<div class="block">Get the name associated with the service.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name String</dd>
</dl>
</li>
</ul>
<a id="getServiceGroupName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getServiceGroupName</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getServiceGroupName()</pre>
<div class="block">Get the name associated with the service group.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The name String</dd>
</dl>
</li>
</ul>
<a id="isEquivalent(org.apache.axis2.context.OperationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEquivalent</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isEquivalent&#8203;(<a href="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="paramLabel">Parameters:</span></dt>
<dd><code>ctx</code> - The object to compare with</dd>
<dt><span class="returnLabel">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 id="getLogCorrelationIDString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLogCorrelationIDString</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;getLogCorrelationIDString()</pre>
<div class="block">Get the ID associated with this object instance.</div>
<dl>
<dt><span class="returnLabel">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 id="getRootContext()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getRootContext</h4>
<pre class="methodSignature">public&nbsp;<a href="ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;getRootContext()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="AbstractContext.html#getRootContext()">getRootContext</a></code>&nbsp;in class&nbsp;<code><a href="AbstractContext.html" title="class in org.apache.axis2.context">AbstractContext</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.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" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">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 id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &copy; <a href="https://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</footer>
</body>
</html>
