blob: 4d03551c26a7dd8f19372f67697c5a8178795ac8 [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:47 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SelectedFieldsLockingPolicy (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="SelectedFieldsLockingPolicy (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};
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/descriptors/SchemaPerMultitenantPolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/SerializableDescriptorEventHolder.html" title="interface in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html" target="_top">Frames</a></li>
<li><a href="SelectedFieldsLockingPolicy.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.descriptors</div>
<h2 title="Class SelectedFieldsLockingPolicy" class="title">Class SelectedFieldsLockingPolicy</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><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">org.eclipse.persistence.descriptors.FieldsLockingPolicy</a></li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.descriptors.SelectedFieldsLockingPolicy</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><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>, <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>, org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">SelectedFieldsLockingPolicy</span>
extends <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></pre>
<div class="block"><p>
<b>Purpose</b>: An implementation of the OptimisticLockingPolicy interface.
This policy compares selected fields in the WHERE clause when doing an update
or a delete. If any field has been changed, an optimistic locking exception
will be thrown. Note that the fields specified must be mapped and not be
primary keys.
<p>
NOTE: This policy can only be used inside a unit of work.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.descriptors.SelectedFieldsLockingPolicy">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>TopLink 2.5</dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</h3>
<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.LockOnChange</code></li>
</ul>
</li>
</ul>
<!-- =========== 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 <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#lockFields">lockFields</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/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#lockFieldsByTable">lockFieldsByTable</a></span></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.descriptors.<a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></h3>
<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#allNonPrimaryKeyFields">allNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#descriptor">descriptor</a></code></li>
</ul>
</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/descriptors/SelectedFieldsLockingPolicy.html#SelectedFieldsLockingPolicy--">SelectedFieldsLockingPolicy</a></span>()</code>
<div class="block">PUBLIC: Create a new selected fields locking policy.</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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#addLockFieldName-java.lang.String-">addLockFieldName</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;fieldName)</code>
<div class="block">PUBLIC: Add a field name to lock on.</div>
</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/descriptors/SelectedFieldsLockingPolicy.html#addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">addLockValuesToTranslationRow</a></span>(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelModifyQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelModifyQuery</a>&nbsp;query)</code>
<div class="block">INTERNAL: Values to be included in the locking mechanism are added to the
translation row.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">getFieldsToCompare</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;transRow,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;modifyRow)</code>
<div class="block">INTERNAL: returns the lock fields to compare based on the passed in
table.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#getLockFields--">getLockFields</a></span>()</code>
<div class="block">INTERNAL: Returns the lock fields</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#getLockFields-org.eclipse.persistence.internal.helper.DatabaseTable-">getLockFields</a></span>(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table)</code>
<div class="block">INTERNAL: returns the lock fields based on the passed in table</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#getLockFieldsByTable--">getLockFieldsByTable</a></span>()</code>
<div class="block">INTERNAL: returns the lock fields</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a></span>(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL: It is responsible for initializing the policy;</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#setLockFieldNames-java.util.List-">setLockFieldNames</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;lockFieldNames)</code>
<div class="block">PUBLIC: Set the field names to lock on.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#setLockFields-java.util.List-">setLockFields</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;lockFields)</code>
<div class="block">INTERNAL: Sets the lock fields</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html#setLockFieldsByTable-java.util.Map-">setLockFieldsByTable</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt;&nbsp;lockFieldsByTable)</code>
<div class="block">INTERNAL: Used to set the field names to be used in this policy.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.descriptors.FieldsLockingPolicy">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.descriptors.<a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></h3>
<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#addLockFieldsToUpdateRow-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">addLockFieldsToUpdateRow</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildAllNonPrimaryKeyFields--">buildAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildDeleteExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildDeleteExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.expressions.ExpressionBuilder-">buildExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#buildUpdateExpression-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.expressions.Expression-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">buildUpdateExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#clone--">clone</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#compareWriteLockValues-java.lang.Object-java.lang.Object-">compareWriteLockValues</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getAllNonPrimaryKeyFields--">getAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getAllNonPrimaryKeyFields-org.eclipse.persistence.internal.helper.DatabaseTable-">getAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getBaseValue--">getBaseValue</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getLockOnChangeMode--">getLockOnChangeMode</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getValueToPutInCache-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractSession-">getValueToPutInCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getVersionDifference-java.lang.Object-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">getVersionDifference</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockField--">getWriteLockField</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockUpdateExpression-org.eclipse.persistence.expressions.ExpressionBuilder-org.eclipse.persistence.internal.sessions.AbstractSession-">getWriteLockUpdateExpression</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getWriteLockValue-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">getWriteLockValue</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#initializeProperties--">initializeProperties</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isCascaded--">isCascaded</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isNewerVersion-org.eclipse.persistence.internal.sessions.AbstractRecord-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">isNewerVersion</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isNewerVersion-java.lang.Object-java.lang.Object-java.lang.Object-org.eclipse.persistence.internal.sessions.AbstractSession-">isNewerVersion</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isPrimaryKey-org.eclipse.persistence.internal.helper.DatabaseField-">isPrimaryKey</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#isStoredInCache--">isStoredInCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#mergeIntoParentCache-org.eclipse.persistence.internal.identitymaps.CacheKey-org.eclipse.persistence.internal.identitymaps.CacheKey-">mergeIntoParentCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#mergeIntoParentCache-org.eclipse.persistence.internal.sessions.UnitOfWorkImpl-java.lang.Object-java.lang.Object-">mergeIntoParentCache</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setAllNonPrimaryKeyFields-java.util.List-">setAllNonPrimaryKeyFields</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setDescriptor-org.eclipse.persistence.descriptors.ClassDescriptor-">setDescriptor</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setLockOnChangeMode-org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy.LockOnChange-">setLockOnChangeMode</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#setupWriteFieldsForInsert-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">setupWriteFieldsForInsert</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#shouldUpdateVersionOnMappingChange--">shouldUpdateVersionOnMappingChange</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#shouldUpdateVersionOnOwnedMappingChange--">shouldUpdateVersionOnOwnedMappingChange</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#supportsWriteLockValuesComparison--">supportsWriteLockValuesComparison</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#updateRowAndObjectForUpdate-org.eclipse.persistence.queries.ObjectLevelModifyQuery-java.lang.Object-">updateRowAndObjectForUpdate</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#validateDelete-int-java.lang.Object-org.eclipse.persistence.queries.DeleteObjectQuery-">validateDelete</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#validateUpdate-int-java.lang.Object-org.eclipse.persistence.queries.WriteObjectQuery-">validateUpdate</a>, <a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#verifyUsage-org.eclipse.persistence.internal.sessions.AbstractSession-">verifyUsage</a></code></li>
</ul>
<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#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="lockFieldsByTable">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>lockFieldsByTable</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt; lockFieldsByTable</pre>
</li>
</ul>
<a name="lockFields">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lockFields</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt; lockFields</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="SelectedFieldsLockingPolicy--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>SelectedFieldsLockingPolicy</h4>
<pre>public&nbsp;SelectedFieldsLockingPolicy()</pre>
<div class="block">PUBLIC: Create a new selected fields locking policy. A field locking
policy is based on locking on the specified fields by comparing with
their previous values to detect field-level collisions. Note: the unit of
work must be used for all updates when using field locking.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="addLockFieldName-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLockFieldName</h4>
<pre>public&nbsp;void&nbsp;addLockFieldName(<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;fieldName)</pre>
<div class="block">PUBLIC: Add a field name to lock on. All fields in this list will be
compared when updating if the value of any of the fields does not match
the value in memory, an OptimisticLockException will be thrown.
Note: An Automatic update will not be done on this field, only a
comparison occurs.</div>
</li>
</ul>
<a name="addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addLockValuesToTranslationRow</h4>
<pre>public&nbsp;void&nbsp;addLockValuesToTranslationRow(<a href="../../../../org/eclipse/persistence/queries/ObjectLevelModifyQuery.html" title="class in org.eclipse.persistence.queries">ObjectLevelModifyQuery</a>&nbsp;query)
throws <a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></pre>
<div class="block">INTERNAL: Values to be included in the locking mechanism are added to the
translation row. For changed fields the normal build row is ok as only
changed fields matter.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>addLockValuesToTranslationRow</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#addLockValuesToTranslationRow-org.eclipse.persistence.queries.ObjectLevelModifyQuery-">addLockValuesToTranslationRow</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/exceptions/DatabaseException.html" title="class in org.eclipse.persistence.exceptions">DatabaseException</a></code></dd>
</dl>
</li>
</ul>
<a name="getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFieldsToCompare</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;getFieldsToCompare(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;transRow,
org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;modifyRow)</pre>
<div class="block">INTERNAL: returns the lock fields to compare based on the passed in
table.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#getFieldsToCompare-org.eclipse.persistence.internal.helper.DatabaseTable-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.internal.sessions.AbstractRecord-">getFieldsToCompare</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
</dl>
</li>
</ul>
<a name="getLockFields--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLockFields</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;getLockFields()</pre>
<div class="block">INTERNAL: Returns the lock fields</div>
</li>
</ul>
<a name="getLockFields-org.eclipse.persistence.internal.helper.DatabaseTable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLockFields</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;getLockFields(org.eclipse.persistence.internal.helper.DatabaseTable&nbsp;table)</pre>
<div class="block">INTERNAL: returns the lock fields based on the passed in table</div>
</li>
</ul>
<a name="getLockFieldsByTable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLockFieldsByTable</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt;&nbsp;getLockFieldsByTable()</pre>
<div class="block">INTERNAL: returns the lock fields</div>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL: It is responsible for initializing the policy;</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>initialize</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.descriptors.OptimisticLockingPolicy</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html#initialize-org.eclipse.persistence.internal.sessions.AbstractSession-">initialize</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/eclipse/persistence/descriptors/FieldsLockingPolicy.html" title="class in org.eclipse.persistence.descriptors">FieldsLockingPolicy</a></code></dd>
</dl>
</li>
</ul>
<a name="setLockFieldNames-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLockFieldNames</h4>
<pre>public&nbsp;void&nbsp;setLockFieldNames(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<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>&gt;&nbsp;lockFieldNames)</pre>
<div class="block">PUBLIC: Set the field names to lock on. All fields in this list will be
compared when Updating. If the value of any of the fields does not match
the value in memory, an OptimisticLockException will be thrown.
Note: An Automatic update will not be done on this field, only a
comparison occurs.</div>
</li>
</ul>
<a name="setLockFields-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLockFields</h4>
<pre>protected&nbsp;void&nbsp;setLockFields(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&nbsp;lockFields)</pre>
<div class="block">INTERNAL: Sets the lock fields</div>
</li>
</ul>
<a name="setLockFieldsByTable-java.util.Map-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setLockFieldsByTable</h4>
<pre>protected&nbsp;void&nbsp;setLockFieldsByTable(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;org.eclipse.persistence.internal.helper.DatabaseTable,<a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.eclipse.persistence.internal.helper.DatabaseField&gt;&gt;&nbsp;lockFieldsByTable)</pre>
<div class="block">INTERNAL: Used to set the field names to be used in this policy.</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/descriptors/SchemaPerMultitenantPolicy.html" title="class in org.eclipse.persistence.descriptors"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/descriptors/SerializableDescriptorEventHolder.html" title="interface in org.eclipse.persistence.descriptors"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/descriptors/SelectedFieldsLockingPolicy.html" target="_top">Frames</a></li>
<li><a href="SelectedFieldsLockingPolicy.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>