blob: e3b426344488600d932fb242deddf242b100e288 [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>DynamicClassWriter (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="DynamicClassWriter (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":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/dynamic/DynamicClassLoader.EnumInfo.html" title="class in org.eclipse.persistence.dynamic"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/dynamic/DynamicEntity.html" title="interface in org.eclipse.persistence.dynamic"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/dynamic/DynamicClassWriter.html" target="_top">Frames</a></li>
<li><a href="DynamicClassWriter.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.dynamic</div>
<h2 title="Class DynamicClassWriter" class="title">Class DynamicClassWriter</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.dynamic.DynamicClassWriter</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">DynamicClassWriter</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 <a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></pre>
<div class="block">Write the byte codes of a dynamic entity class. The class writer will create
the byte codes for a dynamic class that subclasses any provided class
replicating its constructors and writeReplace method (if one exists).
<p>
The intent is to provide a common writer for dynamic JPA entities but also
allow for subclasses of this to be used in more complex writing situations
such as SDO and DBWS.
<p>
Instances of this class and any subclasses are maintained within the
<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html#getClassWriters--"><code>DynamicClassLoader.getClassWriters()</code></a> and
<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html#defaultWriter"><code>DynamicClassLoader.defaultWriter</code></a> for the life of the class loader so
it is important that no unnecessary state be maintained that may effect
memory usage.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>dclarke, mnorman</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>EclipseLink 1.2</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>protected 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/dynamic/DynamicClassWriter.html#CLINIT">CLINIT</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/dynamic/DynamicClassWriter.html#DYNAMIC_PROPERTIES_MANAGER_CLASSNAME_SLASHES">DYNAMIC_PROPERTIES_MANAGER_CLASSNAME_SLASHES</a></span></code>&nbsp;</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/dynamic/DynamicClassWriter.html#ICONST">ICONST</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected 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/dynamic/DynamicClassWriter.html#INIT">INIT</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#parentClass">parentClass</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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/dynamic/DynamicClassWriter.html#parentClassName">parentClassName</a></span></code>
<div class="block">Name of parent class.</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/dynamic/DynamicClassWriter.html#DynamicClassWriter--">DynamicClassWriter</a></span>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#DynamicClassWriter-java.lang.Class-">DynamicClassWriter</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;parentClass)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#DynamicClassWriter-java.lang.String-">DynamicClassWriter</a></span>(<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>&nbsp;parentClassName)</code>
<div class="block">Create using a loader and class name so that the parent class can be
lazily loaded when the writer is used to generate a dynamic class.</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>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#addFields-org.eclipse.persistence.internal.libraries.asm.ClassWriter-java.lang.String-">addFields</a></span>(org.eclipse.persistence.internal.libraries.asm.ClassWriter&nbsp;cw,
<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>&nbsp;parentClassType)</code>
<div class="block">Allow subclasses to add additional state to the dynamic entity.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#addInterface-java.lang.String-">addInterface</a></span>(<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>&nbsp;intf)</code>
<div class="block">Allow subclasses to add additional interfaces to the dynamic entity.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#addMethods-org.eclipse.persistence.internal.libraries.asm.ClassWriter-java.lang.String-">addMethods</a></span>(org.eclipse.persistence.internal.libraries.asm.ClassWriter&nbsp;cw,
<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>&nbsp;parentClassType)</code>
<div class="block">Allow subclasses to add additional methods to the dynamic entity.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html" title="class in org.eclipse.persistence.dynamic">DynamicClassWriter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#createCopy-java.lang.Class-">createCopy</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;parentClass)</code>
<div class="block">Create a copy of this <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html" title="class in org.eclipse.persistence.dynamic"><code>DynamicClassWriter</code></a> but with a different
parent class.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#createEnum-org.eclipse.persistence.dynamic.DynamicClassLoader.EnumInfo-">createEnum</a></span>(<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.EnumInfo.html" title="class in org.eclipse.persistence.dynamic">DynamicClassLoader.EnumInfo</a>&nbsp;enumInfo)</code>&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <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/dynamic/DynamicClassWriter.html#getInterfaces--">getInterfaces</a></span>()</code>
<div class="block">Interfaces the dynamic entity class implements.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#getParentClass--">getParentClass</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><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/dynamic/DynamicClassWriter.html#getParentClassName--">getParentClassName</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#isCompatible-org.eclipse.persistence.dynamic.EclipseLinkClassWriter-">isCompatible</a></span>(<a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a>&nbsp;writer)</code>
<div class="block">Verify that the provided writer is compatible with the current writer.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><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/dynamic/DynamicClassWriter.html#toString--">toString</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#verify-java.lang.Class-java.lang.ClassLoader-">verify</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;dynamicClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader)</code>
<div class="block">Verify that the provided class meets the requirements of the writer.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#writeClass-org.eclipse.persistence.dynamic.DynamicClassLoader-java.lang.String-">writeClass</a></span>(<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html" title="class in org.eclipse.persistence.dynamic">DynamicClassLoader</a>&nbsp;loader,
<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>&nbsp;className)</code>&nbsp;</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#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="DYNAMIC_PROPERTIES_MANAGER_CLASSNAME_SLASHES">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DYNAMIC_PROPERTIES_MANAGER_CLASSNAME_SLASHES</h4>
<pre>protected 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> DYNAMIC_PROPERTIES_MANAGER_CLASSNAME_SLASHES</pre>
</li>
</ul>
<a name="INIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>INIT</h4>
<pre>protected 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> INIT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.dynamic.DynamicClassWriter.INIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="CLINIT">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>CLINIT</h4>
<pre>protected 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> CLINIT</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../constant-values.html#org.eclipse.persistence.dynamic.DynamicClassWriter.CLINIT">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a name="parentClass">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt; parentClass</pre>
</li>
</ul>
<a name="parentClassName">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parentClassName</h4>
<pre>protected&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> parentClassName</pre>
<div class="block">Name of parent class. This is used only when the parent class is not
known at the time the dynamic class writer is registered. This is
generally only required when loading from an XML mapping file where the
order of class access is not known.</div>
</li>
</ul>
<a name="ICONST">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ICONST</h4>
<pre>public static&nbsp;int[] ICONST</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="DynamicClassWriter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DynamicClassWriter</h4>
<pre>public&nbsp;DynamicClassWriter()</pre>
</li>
</ul>
<a name="DynamicClassWriter-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>DynamicClassWriter</h4>
<pre>public&nbsp;DynamicClassWriter(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;parentClass)</pre>
</li>
</ul>
<a name="DynamicClassWriter-java.lang.String-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DynamicClassWriter</h4>
<pre>public&nbsp;DynamicClassWriter(<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>&nbsp;parentClassName)</pre>
<div class="block">Create using a loader and class name so that the parent class can be
lazily loaded when the writer is used to generate a dynamic class.
<p>
The loader must not be null and the parentClassName must not be null and
not an empty String. The parentClassName will be converted to a class
using the provided loader lazily.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#getParentClass--"><code>getParentClass()</code></a>,
<a href="../../../../org/eclipse/persistence/exceptions/DynamicException.html#illegalDynamicClassWriter-org.eclipse.persistence.dynamic.DynamicClassLoader-java.lang.String-"><code>DynamicException.illegalDynamicClassWriter(DynamicClassLoader,
String)</code></a></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="getParentClass--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentClass</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;getParentClass()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html#getParentClass--">getParentClass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></code></dd>
</dl>
</li>
</ul>
<a name="getParentClassName--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParentClassName</h4>
<pre>public&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>&nbsp;getParentClassName()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html#getParentClassName--">getParentClassName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></code></dd>
</dl>
</li>
</ul>
<a name="writeClass-org.eclipse.persistence.dynamic.DynamicClassLoader-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeClass</h4>
<pre>public&nbsp;byte[]&nbsp;writeClass(<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html" title="class in org.eclipse.persistence.dynamic">DynamicClassLoader</a>&nbsp;loader,
<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>&nbsp;className)
throws <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>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html#writeClass-org.eclipse.persistence.dynamic.DynamicClassLoader-java.lang.String-">writeClass</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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="addInterface-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addInterface</h4>
<pre>protected&nbsp;void&nbsp;addInterface(<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>&nbsp;intf)</pre>
<div class="block">Allow subclasses to add additional interfaces to the dynamic entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>intf</code> - additional interface</dd>
</dl>
</li>
</ul>
<a name="addFields-org.eclipse.persistence.internal.libraries.asm.ClassWriter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFields</h4>
<pre>protected&nbsp;void&nbsp;addFields(org.eclipse.persistence.internal.libraries.asm.ClassWriter&nbsp;cw,
<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>&nbsp;parentClassType)</pre>
<div class="block">Allow subclasses to add additional state to the dynamic entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cw</code> - </dd>
<dd><code>parentClassType</code> - </dd>
</dl>
</li>
</ul>
<a name="addMethods-org.eclipse.persistence.internal.libraries.asm.ClassWriter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addMethods</h4>
<pre>protected&nbsp;void&nbsp;addMethods(org.eclipse.persistence.internal.libraries.asm.ClassWriter&nbsp;cw,
<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>&nbsp;parentClassType)</pre>
<div class="block">Allow subclasses to add additional methods to the dynamic entity.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cw</code> - </dd>
<dd><code>parentClassType</code> - </dd>
</dl>
</li>
</ul>
<a name="createEnum-org.eclipse.persistence.dynamic.DynamicClassLoader.EnumInfo-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createEnum</h4>
<pre>protected&nbsp;byte[]&nbsp;createEnum(<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.EnumInfo.html" title="class in org.eclipse.persistence.dynamic">DynamicClassLoader.EnumInfo</a>&nbsp;enumInfo)</pre>
</li>
</ul>
<a name="verify-java.lang.Class-java.lang.ClassLoader-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>verify</h4>
<pre>protected&nbsp;boolean&nbsp;verify(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;dynamicClass,
<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;loader)
throws <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">Verify that the provided class meets the requirements of the writer. In
the case of <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html" title="class in org.eclipse.persistence.dynamic"><code>DynamicClassWriter</code></a> this will ensure that the class is
a subclass of the <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html#parentClass"><code>parentClass</code></a></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dynamicClass</code> - </dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<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="getInterfaces--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInterfaces</h4>
<pre>protected&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>[]&nbsp;getInterfaces()</pre>
<div class="block">Interfaces the dynamic entity class implements. By default this is none
but in the case of SDO a concrete interface must be implemented.
Subclasses should override this as required.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Interfaces implemented by Dynamic class. May be null</dd>
</dl>
</li>
</ul>
<a name="createCopy-java.lang.Class-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createCopy</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html" title="class in org.eclipse.persistence.dynamic">DynamicClassWriter</a>&nbsp;createCopy(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;?&gt;&nbsp;parentClass)</pre>
<div class="block">Create a copy of this <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassWriter.html" title="class in org.eclipse.persistence.dynamic"><code>DynamicClassWriter</code></a> but with a different
parent class.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html#addClass-java.lang.String-java.lang.Class-"><code>DynamicClassLoader.addClass(String, Class)</code></a></dd>
</dl>
</li>
</ul>
<a name="isCompatible-org.eclipse.persistence.dynamic.EclipseLinkClassWriter-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCompatible</h4>
<pre>public&nbsp;boolean&nbsp;isCompatible(<a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a>&nbsp;writer)</pre>
<div class="block">Verify that the provided writer is compatible with the current writer.
Returning true means that the bytes that would be created using this
writer are identical with what would come from the provided writer.
<p>
Used in <a href="../../../../org/eclipse/persistence/dynamic/DynamicClassLoader.html#addClass-java.lang.String-org.eclipse.persistence.dynamic.EclipseLinkClassWriter-"><code>DynamicClassLoader.addClass(String, EclipseLinkClassWriter)</code></a>
to verify if a duplicate request of the same className can proceed and
return the same class that may already exist.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html#isCompatible-org.eclipse.persistence.dynamic.EclipseLinkClassWriter-">isCompatible</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/eclipse/persistence/dynamic/EclipseLinkClassWriter.html" title="interface in org.eclipse.persistence.dynamic">EclipseLinkClassWriter</a></code></dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre>public&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>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<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></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/dynamic/DynamicClassLoader.EnumInfo.html" title="class in org.eclipse.persistence.dynamic"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/dynamic/DynamicEntity.html" title="interface in org.eclipse.persistence.dynamic"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/dynamic/DynamicClassWriter.html" target="_top">Frames</a></li>
<li><a href="DynamicClassWriter.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>