blob: 9b15c82b28bcb28e47f071d60ae5f75d7161e6d8 [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:39:04 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>WeavedAttributeValueHolderInterface (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="WeavedAttributeValueHolderInterface (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html" target="_top">Frames</a></li>
<li><a href="WeavedAttributeValueHolderInterface.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>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.eclipse.persistence.indirection</div>
<h2 title="Interface WeavedAttributeValueHolderInterface" class="title">Interface WeavedAttributeValueHolderInterface&lt;T&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Cloneable.html?is-external=true" title="class or interface in java.lang">Cloneable</a>, <a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection">ValueHolderInterface</a>&lt;T&gt;</dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../org/eclipse/persistence/indirection/ValueHolder.html" title="class in org.eclipse.persistence.indirection">ValueHolder</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">WeavedAttributeValueHolderInterface&lt;T&gt;</span>
extends <a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection">ValueHolderInterface</a>&lt;T&gt;</pre>
<div class="block">INTERNAL:
This interface defines functionality required by ValueHolders for OneToOneMappings that
have LAZY access weaved into them and use Property (method) based access
The weaving feature adds a paralell valueholder to the class it weaves and uses that valueholder
to control the lazy loading. The methods on this interface provide information about how that weaved
valueholder is related to the underlying value.</div>
<dl>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>tware</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>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.indirection.ValueHolderInterface">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.persistence.indirection.<a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection">ValueHolderInterface</a></h3>
<code><a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html#shouldToStringInstantiate">shouldToStringInstantiate</a></code></li>
</ul>
</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html#isCoordinatedWithProperty--">isCoordinatedWithProperty</a></span>()</code>
<div class="block">When a valueholder is triggered, the weaved code will ensure its value is
coordinated with the underlying property.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html#isNewlyWeavedValueHolder--">isNewlyWeavedValueHolder</a></span>()</code>
<div class="block">This method returns whether this valueholder has been newly instantiated by weaved code.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html#setIsCoordinatedWithProperty-boolean-">setIsCoordinatedWithProperty</a></span>(boolean&nbsp;coordinated)</code>
<div class="block">TopLink will call this method when the triggering of a weaved valueholder causes it's
value to be coordinated with the underlying property</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/indirection/WeavedAttributeValueHolderInterface.html#setIsNewlyWeavedValueHolder-boolean-">setIsNewlyWeavedValueHolder</a></span>(boolean&nbsp;isNew)</code>
<div class="block">TopLink weaving calls this method on any valueholder it weaves into a class to indicate
that it is new and it's value should not be considered.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html#shouldAllowInstantiationDeferral--">shouldAllowInstantiationDeferral</a></span>()</code>
<div class="block">INTERNAL:
Return if add/remove should trigger instantiation or avoid.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.indirection.ValueHolderInterface">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.persistence.indirection.<a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection">ValueHolderInterface</a></h3>
<code><a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html#clone--">clone</a>, <a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html#getValue--">getValue</a>, <a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html#isInstantiated--">isInstantiated</a>, <a href="../../../../org/eclipse/persistence/indirection/ValueHolderInterface.html#setValue-T-">setValue</a></code></li>
</ul>
</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="isCoordinatedWithProperty--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isCoordinatedWithProperty</h4>
<pre>boolean&nbsp;isCoordinatedWithProperty()</pre>
<div class="block">When a valueholder is triggered, the weaved code will ensure its value is
coordinated with the underlying property. This method allows TopLink to determine
if that has happened.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="setIsCoordinatedWithProperty-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsCoordinatedWithProperty</h4>
<pre>void&nbsp;setIsCoordinatedWithProperty(boolean&nbsp;coordinated)</pre>
<div class="block">TopLink will call this method when the triggering of a weaved valueholder causes it's
value to be coordinated with the underlying property</div>
</li>
</ul>
<a name="isNewlyWeavedValueHolder--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNewlyWeavedValueHolder</h4>
<pre>boolean&nbsp;isNewlyWeavedValueHolder()</pre>
<div class="block">This method returns whether this valueholder has been newly instantiated by weaved code.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a name="setIsNewlyWeavedValueHolder-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsNewlyWeavedValueHolder</h4>
<pre>void&nbsp;setIsNewlyWeavedValueHolder(boolean&nbsp;isNew)</pre>
<div class="block">TopLink weaving calls this method on any valueholder it weaves into a class to indicate
that it is new and it's value should not be considered. The method is also called when coordination
with the underlying value occurs to indicate the value can now be trusted.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>isNew</code> - </dd>
</dl>
</li>
</ul>
<a name="shouldAllowInstantiationDeferral--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>shouldAllowInstantiationDeferral</h4>
<pre>boolean&nbsp;shouldAllowInstantiationDeferral()</pre>
<div class="block">INTERNAL:
Return if add/remove should trigger instantiation or avoid.
Current instantiation is avoided is using change tracking.</div>
</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/indirection/ValueHolderInterface.html" title="interface in org.eclipse.persistence.indirection"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/indirection/WeavedAttributeValueHolderInterface.html" target="_top">Frames</a></li>
<li><a href="WeavedAttributeValueHolderInterface.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>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 &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>