blob: 76f44fab2d99b773a8d4b4926b174f44c83010e1 [file] [log] [blame]
<!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>SelfManagedDataManager (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="SelfManagedDataManager (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/SelfManagedDataManager.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/PropertyDifference.html" title="class in org.apache.axis2.context"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis2/context/ServiceContext.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/SelfManagedDataManager.html" target="_top">Frames</a></li>
<li><a href="SelfManagedDataManager.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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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="Interface SelfManagedDataManager" class="title">Interface SelfManagedDataManager</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="strong">SelfManagedDataManager</span></pre>
<div class="block">An interface for use by a message handler to allow
it to save and restore any message-specific data.
<p/>
A handler can have message-specific data that
needs to be associated the message being processed.
The handler can keep this message-specific data
in the Messagecontext object by adding the
data to the user data table via the
MessageContext method. When the MessageContext
object is saved (for example, to persistent storage),
and restored, this interface <B>SelfManagedDataManager</B>
provides a way for the handler to save and restore
the handler's message-specific data.</div>
<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context"><code>MessageContext</code></a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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/SelfManagedDataManager.html#deserializeSelfManagedData(java.io.ByteArrayInputStream, org.apache.axis2.context.MessageContext)">deserializeSelfManagedData</a></strong>(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/ByteArrayInputStream.html?is-external=true" title="class or interface in java.io">ByteArrayInputStream</a>&nbsp;data,
<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)</code>
<div class="block">This method is invoked when the MessageContext object is being restored.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/SelfManagedDataManager.html#restoreTransientData(org.apache.axis2.context.MessageContext)">restoreTransientData</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">This method is invoked when the MessageContext object is being restored and
after the deserializeSelfManagedData() method.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis2/context/SelfManagedDataManager.html#serializeSelfManagedData(org.apache.axis2.context.MessageContext)">serializeSelfManagedData</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">This method is invoked when the MessageContext object is being saved.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="serializeSelfManagedData(org.apache.axis2.context.MessageContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>serializeSelfManagedData</h4>
<pre><a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a>&nbsp;serializeSelfManagedData(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This method is invoked when the MessageContext object is being saved.
<p/>
Implementors are expected to iterate through the data objects they wish
to save and return it in a ByteArrayOutputStream. This data will
later be passed to the implementor's deserializeSelfManagedData method when
the data object is to be restored.
<p/>
The data being saved may be the data stored by the implementor
in the MessageContext object's SelfManagedData list and may include
additional information such as the implementor's fields.
Note that data stored by the implementor in the MessageContext object's SelfManagedData
list is retrievable by calling the MessageContext.getSelfManagedData() method
for EACH key/value pair.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mc</code> - the MessageContext that is being saved</dd>
<dt><span class="strong">Returns:</span></dt><dd>The saved data in the output stream. Note that the
format of the data in the output stream is defined
by the implementor.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/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="deserializeSelfManagedData(java.io.ByteArrayInputStream, org.apache.axis2.context.MessageContext)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deserializeSelfManagedData</h4>
<pre>void&nbsp;deserializeSelfManagedData(<a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/ByteArrayInputStream.html?is-external=true" title="class or interface in java.io">ByteArrayInputStream</a>&nbsp;data,
<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)
throws <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">This method is invoked when the MessageContext object is being restored.
<p/>
Implementors will receive the data they had previously saved in the
serializeSelfManagedData() method. Implementors are responsible for
reconstituting their message-specific data.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - ByteArrayInputStream consisting of the data that this handler had previously saved</dd><dd><code>mc</code> - the MessageContext object being restored</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.5.0/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="restoreTransientData(org.apache.axis2.context.MessageContext)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>restoreTransientData</h4>
<pre>void&nbsp;restoreTransientData(<a href="../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;mc)</pre>
<div class="block">This method is invoked when the MessageContext object is being restored and
after the deserializeSelfManagedData() method.
<p/>
Implementors use this method to re-establish transient message-specific data,
particularly if the implementor did not save any user data in the
serializeSelfManagedData() method.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>mc</code> - the MessageContext object being restored</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/SelfManagedDataManager.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/PropertyDifference.html" title="class in org.apache.axis2.context"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis2/context/ServiceContext.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/SelfManagedDataManager.html" target="_top">Frames</a></li>
<li><a href="SelfManagedDataManager.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>Field&nbsp;|&nbsp;</li>
<li>Constr&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>Constr&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>