blob: feef5d1dc931896ebfd427047f0e0c5db63008d9 [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>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:38:48 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SDOResolvable (EclipseLink 3.0.2, API Reference)</title>
<meta name="date" content="2021-07-16">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SDOResolvable (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":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";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/sdo/SDOProperty.html" title="class in org.eclipse.persistence.sdo"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/sdo/SDOSequence.html" title="class in org.eclipse.persistence.sdo"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/sdo/SDOResolvable.html" target="_top">Frames</a></li>
<li><a href="SDOResolvable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All&nbsp;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="#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><a href="#field.detail">Field</a>&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.eclipse.persistence.sdo</div>
<h2 title="Class SDOResolvable" class="title">Class SDOResolvable</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/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>org.eclipse.persistence.sdo.SDOResolvable</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd>commonj.sdo.impl.ExternalizableDelegator.Resolvable, <a href="https://docs.oracle.com/javase/8/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/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SDOResolvable</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements commonj.sdo.impl.ExternalizableDelegator.Resolvable</pre>
<div class="block">INTERNAL:
<p><b>Purpose:</b></p>
This class performs serialization/deserialization of an SDODataObject.
<p><b>Responsibilities:</b></p>
<ul>
<li>Provide/override default Java serializable access to a DataObject</li>
</ul>
Serialization Process
<p>Serialization and de-serialization of objects occurs during DAS transactions,
Web Service transactions in the SOAP envelope, EJB container passivation,
web container session saving or directly in an application using the function
ObjectOutputStream.writeObject(Object).
The Serializable and Externalizable framework handles automatic or user defined
reading/writing of streams depending on which interface functions are realized in the implementing classes.
<p>The Serializable interface has no operations - therefore a class that implements
it needs to add no additional functionality.
Why do this? - For security. The security manager in the JVM will only serialize objects at
runtime if they are flagged as Serializable (or Externalizable) so that by default
java classes do not expose themselves to serialization. (See p49 of Java Security 2nd edition).
<p>There are 3 levels of serialization control.
<ul><li><i>1) Default Serialization</i><br>
Here we make the class implement Serializable, mark non-serializable fields as
transient and implement no new functions.</li>
<li><i>2) Partial custom Serialization</i><br>
Here we make the class implement Serializable and implement the optional functions
writeObject and readObject to handle custom serialization of the current class while
using the default serialization for super and subtypes.</li>
<li><b>3) Fully customized Serialization - current implementation</b>.<br>
Here we make the class implement Externalizable and implement the functions
readResolve, writeReplace, readExternal, writeExternal.
Supertypes and subtypes must also implement these functions.</li>
</ul>
<p>The SDO 2.01 specification details the high level structure of the
serialization format on page 64, section 6 - Java Serialization of DataObjects.
The process will involve gzip serialization of the xml data with UTF representation of the
Xpath address of the current DataObject inside the entire tree along with its identification as root/no-root in
binary 1/0 format as follows.
<ul><li><b>Security:</b><br>
The following public functions expose a data replacement vulnerability where an
outside client can gain access and modify their constants.
We may need to wrap the GZIP streams in some sort of encryption when we are not
using HTTPS or SSL/TLS on the wire.
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException</li>
<li><b>Concurrency:</b><br>
Avoid synchronized classes that will queue threaded clients such as Enumeration, Vector etc.
We need to discuss how this API will be used by containers like an EJB container that can
invoke multithreaded clients.</li>
<li><b>Scalability:</b><br></li>
<li>XML Serialization Size is 4GB:<br>
There is a limitation set by the SDO Specification on the size of the DataObject serialization.
According to the spec we must use an integer to define the size of the GZIP buffer that is serialized.
This size is limited to +/- 2GB. This limitation is actually set by the JVM itself because a
call to buffer.length returns a signed 32 bit integer.
<p></li>
<li><b>Performance:</b><br>
Using custom serialization via the Externalizable interface is 30% faster than the
default java serialization because the JVM does not need to discover the class definition.</li>
</ul></div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.sdo.SDOResolvable">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>Oracle TopLink 11.1.1.0.0</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#DEFAULT_ROOT_ELEMENT_NAME">DEFAULT_ROOT_ELEMENT_NAME</a></span></code>
<div class="block">Root element name for all DataObjects undergoing serialization = sdo:dataObject</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDO_HELPER_CONTEXT_ID_IDENTIFIER">SDO_HELPER_CONTEXT_ID_IDENTIFIER</a></span></code>
<div class="block">root object with helper context id identifier</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDO_INTERNAL_OBJECT_IDENTIFIER">SDO_INTERNAL_OBJECT_IDENTIFIER</a></span></code>
<div class="block">internal object serialization type identifier = 0</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDO_ROOT_OBJECT_IDENTIFIER">SDO_ROOT_OBJECT_IDENTIFIER</a></span></code>
<div class="block">root object serialization type identifier = 1</div>
</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" 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><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDOResolvable--">SDOResolvable</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDOResolvable-commonj.sdo.helper.HelperContext-">SDOResolvable</a></span>(commonj.sdo.helper.HelperContext&nbsp;aContext)</code>
<div class="block">Default constructor for deserialization</div>
</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#SDOResolvable-java.lang.Object-commonj.sdo.helper.HelperContext-">SDOResolvable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;target,
commonj.sdo.helper.HelperContext&nbsp;aContext)</code>
<div class="block">Constructor for serialization</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="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>commonj.sdo.helper.HelperContext</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#getHelperContext--">getHelperContext</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#readExternal-java.io.ObjectInput-">readExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;objectInput)</code>
<div class="block">Purpose: Deserialize from an ObjectInputStream into an SDODataObject This
function is mandated by the Externalizable interface.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#readResolve--">readResolve</a></span>()</code>
<div class="block">Purpose: This function is called after readExternal to return the
recently deserialized object retrieved from the ObjectInputStream.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#setHelperContext-commonj.sdo.helper.HelperContext-">setHelperContext</a></span>(commonj.sdo.helper.HelperContext&nbsp;helperContext)</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/sdo/SDOResolvable.html#writeExternal-java.io.ObjectOutput-">writeExternal</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)</code>
<div class="block">Purpose: Serialize an SDODataObject to an ObjectOutputStream This
function is mandated by the Externalizable interface.</div>
</td>
</tr>
</table>
<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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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/8/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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a name="DEFAULT_ROOT_ELEMENT_NAME">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DEFAULT_ROOT_ELEMENT_NAME</h4>
<pre>public static final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_ROOT_ELEMENT_NAME</pre>
<div class="block">Root element name for all DataObjects undergoing serialization = sdo:dataObject</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.sdo.SDOResolvable.DEFAULT_ROOT_ELEMENT_NAME">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SDO_HELPER_CONTEXT_ID_IDENTIFIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SDO_HELPER_CONTEXT_ID_IDENTIFIER</h4>
<pre>public static final&nbsp;int SDO_HELPER_CONTEXT_ID_IDENTIFIER</pre>
<div class="block">root object with helper context id identifier</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.sdo.SDOResolvable.SDO_HELPER_CONTEXT_ID_IDENTIFIER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SDO_ROOT_OBJECT_IDENTIFIER">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SDO_ROOT_OBJECT_IDENTIFIER</h4>
<pre>public static final&nbsp;int SDO_ROOT_OBJECT_IDENTIFIER</pre>
<div class="block">root object serialization type identifier = 1</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.sdo.SDOResolvable.SDO_ROOT_OBJECT_IDENTIFIER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="SDO_INTERNAL_OBJECT_IDENTIFIER">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SDO_INTERNAL_OBJECT_IDENTIFIER</h4>
<pre>public static final&nbsp;int SDO_INTERNAL_OBJECT_IDENTIFIER</pre>
<div class="block">internal object serialization type identifier = 0</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.sdo.SDOResolvable.SDO_INTERNAL_OBJECT_IDENTIFIER">Constant Field Values</a></dd>
</dl>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SDOResolvable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SDOResolvable</h4>
<pre>public&nbsp;SDOResolvable()</pre>
</li>
</ul>
<a name="SDOResolvable-commonj.sdo.helper.HelperContext-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>SDOResolvable</h4>
<pre>public&nbsp;SDOResolvable(commonj.sdo.helper.HelperContext&nbsp;aContext)</pre>
<div class="block">Default constructor for deserialization</div>
</li>
</ul>
<a name="SDOResolvable-java.lang.Object-commonj.sdo.helper.HelperContext-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SDOResolvable</h4>
<pre>public&nbsp;SDOResolvable(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;target,
commonj.sdo.helper.HelperContext&nbsp;aContext)</pre>
<div class="block">Constructor for serialization</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="readResolve--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readResolve</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;readResolve()
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectStreamException.html?is-external=true" title="class or interface in java.io">ObjectStreamException</a></pre>
<div class="block">Purpose: This function is called after readExternal to return the
recently deserialized object retrieved from the ObjectInputStream.
Here there is an opportunity to replace the object with a Singleton version</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>readResolve</code>&nbsp;in interface&nbsp;<code>commonj.sdo.impl.ExternalizableDelegator.Resolvable</code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/io/ObjectStreamException.html?is-external=true" title="class or interface in java.io">ObjectStreamException</a></code></dd>
</dl>
</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/8/docs/api/java/io/ObjectOutput.html?is-external=true" title="class or interface in java.io">ObjectOutput</a>&nbsp;objectOutput)
throws <a href="https://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
<div class="block">Purpose: Serialize an SDODataObject to an ObjectOutputStream This
function is mandated by the Externalizable interface. It writes binary
data in the same order as was will be read back in readExternal().
Prerequisites: An object has already been constructed and associated with
the theSDODataObject member</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/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/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/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/8/docs/api/java/io/ObjectInput.html?is-external=true" title="class or interface in java.io">ObjectInput</a>&nbsp;objectInput)
throws <a href="https://docs.oracle.com/javase/8/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/8/docs/api/java/lang/ClassNotFoundException.html?is-external=true" title="class or interface in java.lang">ClassNotFoundException</a></pre>
<div class="block">Purpose: Deserialize from an ObjectInputStream into an SDODataObject This
function is mandated by the Externalizable interface. It reads back
binary data in the same order as was written in writeExternal(). An
object has already been constructed with the no-arg constructor before
this function fills in the member fields.
The deserialized object will be returned later in a call from the
ObjectInputStream to readResolve()</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/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/8/docs/api/java/io/Externalizable.html?is-external=true" title="class or interface in java.io">Externalizable</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/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/8/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="getHelperContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHelperContext</h4>
<pre>public&nbsp;commonj.sdo.helper.HelperContext&nbsp;getHelperContext()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="setHelperContext-commonj.sdo.helper.HelperContext-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setHelperContext</h4>
<pre>public&nbsp;void&nbsp;setHelperContext(commonj.sdo.helper.HelperContext&nbsp;helperContext)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>helperContext</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>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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="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 class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/eclipse/persistence/sdo/SDOProperty.html" title="class in org.eclipse.persistence.sdo"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/sdo/SDOSequence.html" title="class in org.eclipse.persistence.sdo"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/sdo/SDOResolvable.html" target="_top">Frames</a></li>
<li><a href="SDOResolvable.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</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><a href="#field.detail">Field</a>&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 &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>