blob: 807757b4d5b24b3dc32dcc26f18cb9ca6d5310ea [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="de">
<head>
<!-- Generated by javadoc (1.8.0_252) on Thu Sep 03 11:54:31 CEST 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>org.apache.openjpa.enhance (OpenJPA Parent POM 3.1.2 API)</title>
<meta name="date" content="2020-09-03">
<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="org.apache.openjpa.enhance (OpenJPA Parent POM 3.1.2 API)";
}
}
catch(err) {
}
//-->
</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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/openjpa/ee/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/openjpa/enhance/stats/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/openjpa/enhance/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<h1 title="Package" class="title">Package&nbsp;org.apache.openjpa.enhance</h1>
<div class="docSummary">
<div class="block"><strong>OpenJPA Enhancer</strong>
This package provides a bytecode enhancer used to
post-process classes for use in a OpenJPA runtime.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ApplicationIdTool.ObjectIdLoader.html" title="interface in org.apache.openjpa.enhance">ApplicationIdTool.ObjectIdLoader</a></td>
<td class="colLast">
<div class="block">Interface implemented by metadata factories that can load non-existant
object id classes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/AttributeTranslator.html" title="interface in org.apache.openjpa.enhance">AttributeTranslator</a></td>
<td class="colLast">
<div class="block">Instances of this interface can convert a positional index for a
<a href="../../../../org/apache/openjpa/meta/FieldMetaData.html" title="class in org.apache.openjpa.meta"><code>FieldMetaData</code></a> that uses property access into the underlying
field name.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/DynamicPersistenceCapable.html" title="interface in org.apache.openjpa.enhance">DynamicPersistenceCapable</a></td>
<td class="colLast">
<div class="block">Instances that implement this marker interface are dynamically-generated
subtypes of managed types that were loaded before being enhanced.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/DynamicStorage.html" title="interface in org.apache.openjpa.enhance">DynamicStorage</a></td>
<td class="colLast">
<div class="block">Interface for dynamically generated classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/FieldConsumer.html" title="interface in org.apache.openjpa.enhance">FieldConsumer</a></td>
<td class="colLast">
<div class="block">Consumes persistent field values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/FieldManager.html" title="interface in org.apache.openjpa.enhance">FieldManager</a></td>
<td class="colLast">
<div class="block">Manages persistent fields.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/FieldSupplier.html" title="interface in org.apache.openjpa.enhance">FieldSupplier</a></td>
<td class="colLast">
<div class="block">Supplies persistent field values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ManagedInstanceProvider.html" title="interface in org.apache.openjpa.enhance">ManagedInstanceProvider</a></td>
<td class="colLast">
<div class="block">Instances of this interface can provide an underlying instance.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCDataGenerator.DynamicPCData.html" title="interface in org.apache.openjpa.enhance">PCDataGenerator.DynamicPCData</a></td>
<td class="colLast">
<div class="block">Dynamic <a href="../../../../org/apache/openjpa/kernel/PCData.html" title="interface in org.apache.openjpa.kernel"><code>PCData</code></a>s generated will implement this interface
to simplify initialization.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCEnhancer.AuxiliaryEnhancer.html" title="interface in org.apache.openjpa.enhance">PCEnhancer.AuxiliaryEnhancer</a></td>
<td class="colLast">
<div class="block">Plugin interface for additional enhancement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCRegistry.RegisterClassListener.html" title="interface in org.apache.openjpa.enhance">PCRegistry.RegisterClassListener</a></td>
<td class="colLast">
<div class="block">Listener for persistent class registration events.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance">PersistenceCapable</a></td>
<td class="colLast">
<div class="block">The interface that persistent instances will implement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/RuntimeUnenhancedClassesModes.html" title="interface in org.apache.openjpa.enhance">RuntimeUnenhancedClassesModes</a></td>
<td class="colLast">
<div class="block">Possible values for the <code>openjpa.RuntimeUnenhancedClasses</code>
configuration setting.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/StateManager.html" title="interface in org.apache.openjpa.enhance">StateManager</a></td>
<td class="colLast">
<div class="block">Internal state manager for managed instances.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ApplicationIdTool.html" title="class in org.apache.openjpa.enhance">ApplicationIdTool</a></td>
<td class="colLast">
<div class="block">Generates a class appropriate for use as an application identity class.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ApplicationIdTool.Flags.html" title="class in org.apache.openjpa.enhance">ApplicationIdTool.Flags</a></td>
<td class="colLast">
<div class="block">Run flags.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/AsmAdaptor.html" title="class in org.apache.openjpa.enhance">AsmAdaptor</a></td>
<td class="colLast">
<div class="block">Use ASM to add required StackMapTable attribute to the byte code generated by
Serp.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ClassRedefiner.html" title="class in org.apache.openjpa.enhance">ClassRedefiner</a></td>
<td class="colLast">
<div class="block">Redefines the method bodies of existing classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/CodeGenerator.html" title="class in org.apache.openjpa.enhance">CodeGenerator</a></td>
<td class="colLast">
<div class="block">Generates Java class code from metadata.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/DynamicStorageGenerator.html" title="class in org.apache.openjpa.enhance">DynamicStorageGenerator</a></td>
<td class="colLast">
<div class="block">Factory for creating new <a href="../../../../org/apache/openjpa/enhance/DynamicStorage.html" title="interface in org.apache.openjpa.enhance"><code>DynamicStorage</code></a> classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/InstrumentationFactory.html" title="class in org.apache.openjpa.enhance">InstrumentationFactory</a></td>
<td class="colLast">
<div class="block">Factory for obtaining an <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/instrument/Instrumentation.html?is-external=true" title="class or interface in java.lang.instrument"><code>Instrumentation</code></a> instance.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ManagedClassSubclasser.html" title="class in org.apache.openjpa.enhance">ManagedClassSubclasser</a></td>
<td class="colLast">
<div class="block">Redefines the method bodies of existing unenhanced classes to make them
notify state managers of mutations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCClassFileTransformer.html" title="class in org.apache.openjpa.enhance">PCClassFileTransformer</a></td>
<td class="colLast">
<div class="block">Transformer that makes persistent classes implement the
<a href="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance"><code>PersistenceCapable</code></a> interface at runtime.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCDataGenerator.html" title="class in org.apache.openjpa.enhance">PCDataGenerator</a></td>
<td class="colLast">
<div class="block">Generates <a href="../../../../org/apache/openjpa/kernel/PCData.html" title="interface in org.apache.openjpa.kernel"><code>PCData</code></a> instances which avoid primitive wrappers
to optimize memory use and performance at the cost of slightly higher
startup time.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCEnhancer.html" title="class in org.apache.openjpa.enhance">PCEnhancer</a></td>
<td class="colLast">
<div class="block">Bytecode enhancer used to enhance persistent classes from metadata.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCEnhancer.Flags.html" title="class in org.apache.openjpa.enhance">PCEnhancer.Flags</a></td>
<td class="colLast">
<div class="block">Run flags.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCEnhancerAgent.html" title="class in org.apache.openjpa.enhance">PCEnhancerAgent</a></td>
<td class="colLast">
<div class="block">
Java agent that makes persistent classes work with OpenJPA at runtime.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCRegistry.html" title="class in org.apache.openjpa.enhance">PCRegistry</a></td>
<td class="colLast">
<div class="block">Tracks registered persistence-capable classes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/PCSubclassValidator.html" title="class in org.apache.openjpa.enhance">PCSubclassValidator</a></td>
<td class="colLast">
<div class="block">Validates that a given type meets the JPA contract, plus a few
OpenJPA-specific additions for subclassing / redefinition:
must have an accessible no-args constructor
must be a public or protected class
must not be final
must not extend an enhanced class
all persistent data represented by accessible setter/getter
methods (persistent properties)
if versioning is to be used, exactly one persistent property for
the numeric version data <!</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/RedefinitionHelper.html" title="class in org.apache.openjpa.enhance">RedefinitionHelper</a></td>
<td class="colLast">
<div class="block">Helper methods for managed types that use method redefinition for field
tracking.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/ReflectingPersistenceCapable.html" title="class in org.apache.openjpa.enhance">ReflectingPersistenceCapable</a></td>
<td class="colLast">
<div class="block">Implementation of the <a href="../../../../org/apache/openjpa/enhance/PersistenceCapable.html" title="interface in org.apache.openjpa.enhance"><code>PersistenceCapable</code></a> interface that can handle
the persistence-capable contract for instances that were not enhanced
before class load time.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../org/apache/openjpa/enhance/Reflection.html" title="class in org.apache.openjpa.enhance">Reflection</a></td>
<td class="colLast">
<div class="block">Reflection utilities used to support and augment enhancement.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.openjpa.enhance Description">Package org.apache.openjpa.enhance Description</h2>
<div class="block"><p><strong>OpenJPA Enhancer</strong></p>
<p>
This package provides a bytecode enhancer used to
post-process classes for use in a OpenJPA runtime.
A tool for generating application identity class sourcecode is also
provided.
</p></div>
</div>
<!-- ======= 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 class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-use.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/openjpa/ee/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../org/apache/openjpa/enhance/stats/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/openjpa/enhance/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.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>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2006&#x2013;2020 <a href="http://www.apache.org">Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>