<!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:39 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>EISPlatform (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="EISPlatform (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,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":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/eis/EISOrderedCollectionChangeRecord.html" title="class in org.eclipse.persistence.eis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/eis/EISSequence.html" title="class in org.eclipse.persistence.eis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/eis/EISPlatform.html" target="_top">Frames</a></li>
<li><a href="EISPlatform.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.eis</div>
<h2 title="Class EISPlatform" class="title">Class EISPlatform</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.internal.databaseaccess.DatasourcePlatform</li>
<li>
<ul class="inheritance">
<li>org.eclipse.persistence.eis.EISPlatform</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.core.databaseaccess.CorePlatform&lt;org.eclipse.persistence.internal.helper.ConversionManager&gt;, org.eclipse.persistence.internal.databaseaccess.Platform</dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">EISPlatform</span>
extends org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</pre>
<div class="block"><p>An <code>EISPlatform</code> defines any EIS adapter specific behavior.
 This may include:
 <ul>
 <li>Instantiation of the adapter InteractionSpec
 <li>Conversion from an adapter custom Record
 <li>Perform platform specific record access
 <li>Provide XML DOM record conversion
 <li>Provide sequence support
 </ul>

 <p><code>EISPlatform</code> also supports behavior for specifying the record
 types supported and automatic data-conversion to strings.

 <p>Although use of the generic <code>EISPlatform</code> may be sufficient,
 some adapters may require that a specific platform be defined.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../serialized-form.html#org.eclipse.persistence.eis.EISPlatform">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>James</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>OracleAS TopLink 10<i>g</i> (10.0.3)</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 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#domMethod">domMethod</a></span></code>
<div class="block">Used to reflectively provide XML record support as DOMRecord is not part of the JCA-CCI spec.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isDOMRecordSupported">isDOMRecordSupported</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isIndexedRecordSupported">isIndexedRecordSupported</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isMappedRecordSupported">isMappedRecordSupported</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#recordConverter">recordConverter</a></span></code>
<div class="block">Can be used to convert from an adapter specific record.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#requiresAutoCommit">requiresAutoCommit</a></span></code>
<div class="block">Can be used if a commit is required after every interaction outside of a local transaction.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#shouldConvertDataToStrings">shouldConvertDataToStrings</a></span></code>
<div class="block">Can be used for adapters that only support String data/XML.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#supportsLocalTransactions">supportsLocalTransactions</a></span></code>
<div class="block">Allows for usage of transaction to be disabled if not supported.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected org.eclipse.persistence.internal.oxm.XMLConversionManager</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#xmlConversionManager">xmlConversionManager</a></span></code>
<div class="block">For XML usage, an XMLConversionManager instance is required</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</h3>
<code>conversionManager, dataTypesConvertedFromAClass, dataTypesConvertedToAClass, defaultNativeSequenceToTable, defaultSeqenceAtNextValue, defaultSequence, endDelimiter, platformOperators, sequences, sequencesLock, startDelimiter, tableQualifier, timestampQuery</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/eis/EISPlatform.html#EISPlatform--">EISPlatform</a></span>()</code>
<div class="block">Default constructor.</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/eis/EISPlatform.html#appendParameter-org.eclipse.persistence.queries.Call-java.io.Writer-java.lang.Object-">appendParameter</a></span>(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
               <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;parameter)</code>
<div class="block">Add the parameter.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#buildCallFromStatement-org.eclipse.persistence.internal.expressions.SQLStatement-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.internal.sessions.AbstractSession-">buildCallFromStatement</a></span>(org.eclipse.persistence.internal.expressions.SQLStatement&nbsp;statement,
                      <a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query,
                      org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</code>
<div class="block">INTERNAL:
 Override this method to throw an exception by default.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>jakarta.resource.cci.InteractionSpec</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#buildInteractionSpec-org.eclipse.persistence.eis.interactions.EISInteraction-">buildInteractionSpec</a></span>(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction)</code>
<div class="block">Allow the platform to build the interaction spec based on properties defined in the interaction.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.databaseaccess.DatasourceCall</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#buildNativeCall-java.lang.String-">buildNativeCall</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;queryString)</code>
<div class="block">INTERNAL:
 Return the correct call type for the native query string.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.sessions.AbstractRecord</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#buildRow-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">buildRow</a></span>(jakarta.resource.cci.Record&nbsp;record,
        <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
        <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">INTERNAL:
 Allow the platform to handle record to row conversion.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#buildRows-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">buildRows</a></span>(jakarta.resource.cci.Record&nbsp;record,
         <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
         <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Allow the platform to handle record to row conversion.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.sessions.AbstractRecord</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#createDatabaseRowFromDOMRecord-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">createDatabaseRowFromDOMRecord</a></span>(jakarta.resource.cci.Record&nbsp;record,
                              <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;call,
                              <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">INTERNAL:
 Allow the platform to handle the creation of the Record for the DOM record.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>jakarta.resource.cci.Record</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#createDOMRecord-java.lang.String-org.eclipse.persistence.eis.EISAccessor-">createDOMRecord</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;recordName,
               <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Allow the platform to handle the creation of the DOM record.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>jakarta.resource.cci.Record</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#createInputRecord-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">createInputRecord</a></span>(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                 <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Allow the platform to create the appropriate type of record for the interaction.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>jakarta.resource.cci.Record</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#createOutputRecord-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.eis.EISAccessor-">createOutputRecord</a></span>(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                  org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;translationRow,
                  <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Allow the platform to create the appropriate type of record for the interaction.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>org.eclipse.persistence.internal.helper.ConversionManager</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#getConversionManager--">getConversionManager</a></span>()</code>
<div class="block">The platform holds its own instance of conversion manager to allow customization.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#getRecordConverter--">getRecordConverter</a></span>()</code>
<div class="block">Return the record converter.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#getValueFromRecord-java.lang.String-jakarta.resource.cci.MappedRecord-org.eclipse.persistence.eis.EISAccessor-">getValueFromRecord</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;key,
                  jakarta.resource.cci.MappedRecord&nbsp;record,
                  <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Retrieves the field value from the record.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isDOMRecordSupported--">isDOMRecordSupported</a></span>()</code>
<div class="block">Return if this platform supports XML/DOM Records.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isIndexedRecordSupported--">isIndexedRecordSupported</a></span>()</code>
<div class="block">Return if this platform supports JCA IndexedRecord.</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#isMappedRecordSupported--">isMappedRecordSupported</a></span>()</code>
<div class="block">Return if this platform supports JCA MappedRecord.</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#requiresAutoCommit--">requiresAutoCommit</a></span>()</code>
<div class="block">Return if this platform requires auto commit of the local transaction
 for interactions outside of an interaction.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setDOMInRecord-org.w3c.dom.Element-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">setDOMInRecord</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Element.html?is-external=true" title="class or interface in org.w3c.dom">Element</a>&nbsp;dom,
              jakarta.resource.cci.Record&nbsp;record,
              <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;call,
              <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Stores the XML DOM value into the record.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setIsDOMRecordSupported-boolean-">setIsDOMRecordSupported</a></span>(boolean&nbsp;isDOMRecordSupported)</code>
<div class="block">Set if this platform supports XML/DOM Records.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setIsIndexedRecordSupported-boolean-">setIsIndexedRecordSupported</a></span>(boolean&nbsp;isIndexedRecordSupported)</code>
<div class="block">Set if this platform supports JCA IndexedRecord.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setIsMappedRecordSupported-boolean-">setIsMappedRecordSupported</a></span>(boolean&nbsp;isMappedRecordSupported)</code>
<div class="block">Set if this platform supports JCA MappedRecord.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setRecordConverter-org.eclipse.persistence.eis.RecordConverter-">setRecordConverter</a></span>(<a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a>&nbsp;recordConverter)</code>
<div class="block">Set the record converter.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setRequiresAutoCommit-boolean-">setRequiresAutoCommit</a></span>(boolean&nbsp;requiresAutoCommit)</code>
<div class="block">Set if this platform requires auto commit of the local transaction
 for interactions outside of an interaction.</div>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setShouldConvertDataToStrings-boolean-">setShouldConvertDataToStrings</a></span>(boolean&nbsp;shouldConvertDataToStrings)</code>
<div class="block">Set if all data set into the adapter should be first converted to strings.</div>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setSupportsLocalTransactions-boolean-">setSupportsLocalTransactions</a></span>(boolean&nbsp;supportsLocalTransactions)</code>
<div class="block">Set if this platform supports local transactions.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#setValueInRecord-java.lang.String-java.lang.Object-jakarta.resource.cci.MappedRecord-org.eclipse.persistence.eis.EISAccessor-">setValueInRecord</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;key,
                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
                jakarta.resource.cci.MappedRecord&nbsp;record,
                <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</code>
<div class="block">Stores the field value into the record.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#shouldConvertDataToStrings--">shouldConvertDataToStrings</a></span>()</code>
<div class="block">Return if all data set into the adapter should be first converted to strings.</div>
</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/eclipse/persistence/eis/EISPlatform.html#supportsLocalTransactions--">supportsLocalTransactions</a></span>()</code>
<div class="block">Return if this platform supports local transactions.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</h3>
<code>addOperator, addSequence, addSequence, buildSelectQueryForIdentity, buildSelectQueryForIdentity, buildSelectQueryForSequenceObject, buildSelectQueryForSequenceObject, clone, convertObject, copyInto, createConnectionCustomizer, createExpressionFor, createPlatformDefaultSequence, getCustomModifyValueForCall, getDataTypesConvertedFrom, getDataTypesConvertedTo, getDefaultNativeSequenceToTable, getDefaultSeqenceAtNextValue, getDefaultSequence, getDefaultSequenceToWrite, getEndDelimiter, getINClauseLimit, getOperator, getPlatformOperators, getSelectSequenceQuery, getSequence, getSequencePreallocationSize, getSequences, getSequencesToWrite, getStartDelimiter, getTableQualifier, getTimestampFromServer, getTimestampQuery, getUpdateSequenceQuery, hasDefaultSequence, initialize, initializeDefaultQueries, initializePlatformOperators, initIdentitySequences, isAccess, isAttunity, isCloudscape, isDB2, isDB2Z, isDBase, isDerby, isFirebird, isH2, isHANA, isHSQL, isInformix, isMaxDB, isMySQL, isODBC, isOracle, isOracle12, isOracle9, isPervasive, isPointBase, isPostgreSQL, isSQLAnywhere, isSQLServer, isSybase, isSymfoware, isTimesTen, isTimesTen7, removeAllSequences, removeIdentitySequences, removeSequence, sequencesAfterCloneCleanup, setConversionManager, setDefaultNativeSequenceToTable, setDefaultSeqenceAtNextValue, setDefaultSequence, setEndDelimiter, setSelectSequenceNumberQuery, setSequencePreallocationSize, setSequences, setStartDelimiter, setTableQualifier, setTimestampQuery, setUpdateSequenceQuery, shouldNativeSequenceUseTransaction, shouldPrepare, shouldSelectDistinctIncludeOrderBy, shouldSelectIncludeOrderBy, shouldUseCustomModifyForCall, supportsIdentity, supportsNativeSequenceNumbers, supportsSequenceObjects, toString, usesPlatformDefaultSequence</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#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="isIndexedRecordSupported">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIndexedRecordSupported</h4>
<pre>protected&nbsp;boolean isIndexedRecordSupported</pre>
</li>
</ul>
<a name="isMappedRecordSupported">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMappedRecordSupported</h4>
<pre>protected&nbsp;boolean isMappedRecordSupported</pre>
</li>
</ul>
<a name="isDOMRecordSupported">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDOMRecordSupported</h4>
<pre>protected&nbsp;boolean isDOMRecordSupported</pre>
</li>
</ul>
<a name="shouldConvertDataToStrings">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldConvertDataToStrings</h4>
<pre>protected&nbsp;boolean shouldConvertDataToStrings</pre>
<div class="block">Can be used for adapters that only support String data/XML.</div>
</li>
</ul>
<a name="supportsLocalTransactions">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsLocalTransactions</h4>
<pre>protected&nbsp;boolean supportsLocalTransactions</pre>
<div class="block">Allows for usage of transaction to be disabled if not supported.</div>
</li>
</ul>
<a name="requiresAutoCommit">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresAutoCommit</h4>
<pre>protected&nbsp;boolean requiresAutoCommit</pre>
<div class="block">Can be used if a commit is required after every interaction outside of a local transaction.</div>
</li>
</ul>
<a name="recordConverter">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>recordConverter</h4>
<pre>protected&nbsp;<a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a> recordConverter</pre>
<div class="block">Can be used to convert from an adapter specific record.</div>
</li>
</ul>
<a name="domMethod">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>domMethod</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Method.html?is-external=true" title="class or interface in java.lang.reflect">Method</a> domMethod</pre>
<div class="block">Used to reflectively provide XML record support as DOMRecord is not part of the JCA-CCI spec.</div>
</li>
</ul>
<a name="xmlConversionManager">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>xmlConversionManager</h4>
<pre>protected&nbsp;org.eclipse.persistence.internal.oxm.XMLConversionManager xmlConversionManager</pre>
<div class="block">For XML usage, an XMLConversionManager instance is required</div>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="EISPlatform--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>EISPlatform</h4>
<pre>public&nbsp;EISPlatform()</pre>
<div class="block">Default constructor.</div>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getRecordConverter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRecordConverter</h4>
<pre>public&nbsp;<a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a>&nbsp;getRecordConverter()</pre>
<div class="block">Return the record converter.</div>
</li>
</ul>
<a name="setRecordConverter-org.eclipse.persistence.eis.RecordConverter-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRecordConverter</h4>
<pre>public&nbsp;void&nbsp;setRecordConverter(<a href="../../../../org/eclipse/persistence/eis/RecordConverter.html" title="interface in org.eclipse.persistence.eis">RecordConverter</a>&nbsp;recordConverter)</pre>
<div class="block">Set the record converter.
 Can be used to convert from an adapter specific record.</div>
</li>
</ul>
<a name="requiresAutoCommit--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>requiresAutoCommit</h4>
<pre>public&nbsp;boolean&nbsp;requiresAutoCommit()</pre>
<div class="block">Return if this platform requires auto commit of the local transaction
 for interactions outside of an interaction.</div>
</li>
</ul>
<a name="setRequiresAutoCommit-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setRequiresAutoCommit</h4>
<pre>public&nbsp;void&nbsp;setRequiresAutoCommit(boolean&nbsp;requiresAutoCommit)</pre>
<div class="block">Set if this platform requires auto commit of the local transaction
 for interactions outside of an interaction.</div>
</li>
</ul>
<a name="supportsLocalTransactions--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>supportsLocalTransactions</h4>
<pre>public&nbsp;boolean&nbsp;supportsLocalTransactions()</pre>
<div class="block">Return if this platform supports local transactions.</div>
</li>
</ul>
<a name="setSupportsLocalTransactions-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setSupportsLocalTransactions</h4>
<pre>public&nbsp;void&nbsp;setSupportsLocalTransactions(boolean&nbsp;supportsLocalTransactions)</pre>
<div class="block">Set if this platform supports local transactions.</div>
</li>
</ul>
<a name="isIndexedRecordSupported--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isIndexedRecordSupported</h4>
<pre>public&nbsp;boolean&nbsp;isIndexedRecordSupported()</pre>
<div class="block">Return if this platform supports JCA IndexedRecord.</div>
</li>
</ul>
<a name="setIsIndexedRecordSupported-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsIndexedRecordSupported</h4>
<pre>public&nbsp;void&nbsp;setIsIndexedRecordSupported(boolean&nbsp;isIndexedRecordSupported)</pre>
<div class="block">Set if this platform supports JCA IndexedRecord.</div>
</li>
</ul>
<a name="isMappedRecordSupported--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMappedRecordSupported</h4>
<pre>public&nbsp;boolean&nbsp;isMappedRecordSupported()</pre>
<div class="block">Return if this platform supports JCA MappedRecord.</div>
</li>
</ul>
<a name="setIsMappedRecordSupported-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsMappedRecordSupported</h4>
<pre>public&nbsp;void&nbsp;setIsMappedRecordSupported(boolean&nbsp;isMappedRecordSupported)</pre>
<div class="block">Set if this platform supports JCA MappedRecord.</div>
</li>
</ul>
<a name="isDOMRecordSupported--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDOMRecordSupported</h4>
<pre>public&nbsp;boolean&nbsp;isDOMRecordSupported()</pre>
<div class="block">Return if this platform supports XML/DOM Records.</div>
</li>
</ul>
<a name="setIsDOMRecordSupported-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setIsDOMRecordSupported</h4>
<pre>public&nbsp;void&nbsp;setIsDOMRecordSupported(boolean&nbsp;isDOMRecordSupported)</pre>
<div class="block">Set if this platform supports XML/DOM Records.</div>
</li>
</ul>
<a name="shouldConvertDataToStrings--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldConvertDataToStrings</h4>
<pre>public&nbsp;boolean&nbsp;shouldConvertDataToStrings()</pre>
<div class="block">Return if all data set into the adapter should be first converted to strings.</div>
</li>
</ul>
<a name="setShouldConvertDataToStrings-boolean-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setShouldConvertDataToStrings</h4>
<pre>public&nbsp;void&nbsp;setShouldConvertDataToStrings(boolean&nbsp;shouldConvertDataToStrings)</pre>
<div class="block">Set if all data set into the adapter should be first converted to strings.</div>
</li>
</ul>
<a name="buildInteractionSpec-org.eclipse.persistence.eis.interactions.EISInteraction-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildInteractionSpec</h4>
<pre>public&nbsp;jakarta.resource.cci.InteractionSpec&nbsp;buildInteractionSpec(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction)</pre>
<div class="block">Allow the platform to build the interaction spec based on properties defined in the interaction.</div>
</li>
</ul>
<a name="createInputRecord-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createInputRecord</h4>
<pre>public&nbsp;jakarta.resource.cci.Record&nbsp;createInputRecord(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                                                     <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Allow the platform to create the appropriate type of record for the interaction.</div>
</li>
</ul>
<a name="createOutputRecord-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.internal.sessions.AbstractRecord-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createOutputRecord</h4>
<pre>public&nbsp;jakarta.resource.cci.Record&nbsp;createOutputRecord(<a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                                                      org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;translationRow,
                                                      <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Allow the platform to create the appropriate type of record for the interaction.
 If an output record is not required then null is returned.</div>
</li>
</ul>
<a name="buildRow-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildRow</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;buildRow(jakarta.resource.cci.Record&nbsp;record,
                                                                         <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                                                                         <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">INTERNAL:
 Allow the platform to handle record to row conversion.</div>
</li>
</ul>
<a name="buildRows-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildRows</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;buildRows(jakarta.resource.cci.Record&nbsp;record,
                        <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;interaction,
                        <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Allow the platform to handle record to row conversion.</div>
</li>
</ul>
<a name="createDOMRecord-java.lang.String-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDOMRecord</h4>
<pre>public&nbsp;jakarta.resource.cci.Record&nbsp;createDOMRecord(<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;recordName,
                                                   <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Allow the platform to handle the creation of the DOM record.
 By default create a mapped record an assume it implements DOM as well.</div>
</li>
</ul>
<a name="createDatabaseRowFromDOMRecord-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createDatabaseRowFromDOMRecord</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.sessions.AbstractRecord&nbsp;createDatabaseRowFromDOMRecord(jakarta.resource.cci.Record&nbsp;record,
                                                                                               <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;call,
                                                                                               <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">INTERNAL:
 Allow the platform to handle the creation of the Record for the DOM record.
 By default instantiate an EISDOMRecord which introspects the record for a getDOM method.</div>
</li>
</ul>
<a name="getValueFromRecord-java.lang.String-jakarta.resource.cci.MappedRecord-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueFromRecord</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getValueFromRecord(<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;key,
                                 jakarta.resource.cci.MappedRecord&nbsp;record,
                                 <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Retrieves the field value from the record.
 This allows for the platform to perform any platform specific translation or conversion.</div>
</li>
</ul>
<a name="setDOMInRecord-org.w3c.dom.Element-jakarta.resource.cci.Record-org.eclipse.persistence.eis.interactions.EISInteraction-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDOMInRecord</h4>
<pre>public&nbsp;void&nbsp;setDOMInRecord(<a href="https://docs.oracle.com/javase/8/docs/api/org/w3c/dom/Element.html?is-external=true" title="class or interface in org.w3c.dom">Element</a>&nbsp;dom,
                           jakarta.resource.cci.Record&nbsp;record,
                           <a href="../../../../org/eclipse/persistence/eis/interactions/EISInteraction.html" title="class in org.eclipse.persistence.eis.interactions">EISInteraction</a>&nbsp;call,
                           <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Stores the XML DOM value into the record.
 This must be implemented by the platform if it support XML/DOM records.</div>
</li>
</ul>
<a name="setValueInRecord-java.lang.String-java.lang.Object-jakarta.resource.cci.MappedRecord-org.eclipse.persistence.eis.EISAccessor-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValueInRecord</h4>
<pre>public&nbsp;void&nbsp;setValueInRecord(<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;key,
                             <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
                             jakarta.resource.cci.MappedRecord&nbsp;record,
                             <a href="../../../../org/eclipse/persistence/eis/EISAccessor.html" title="class in org.eclipse.persistence.eis">EISAccessor</a>&nbsp;accessor)</pre>
<div class="block">Stores the field value into the record.
 This allows for the platform to perform any platform specific translation or conversion.</div>
</li>
</ul>
<a name="appendParameter-org.eclipse.persistence.queries.Call-java.io.Writer-java.lang.Object-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>appendParameter</h4>
<pre>public&nbsp;void&nbsp;appendParameter(<a href="../../../../org/eclipse/persistence/queries/Call.html" title="interface in org.eclipse.persistence.queries">Call</a>&nbsp;call,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Writer.html?is-external=true" title="class or interface in java.io">Writer</a>&nbsp;writer,
                            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;parameter)</pre>
<div class="block">Add the parameter.
 Convert the parameter to a string and write it.
 Convert rows to XML strings.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>appendParameter</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>appendParameter</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="getConversionManager--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getConversionManager</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.helper.ConversionManager&nbsp;getConversionManager()</pre>
<div class="block">The platform holds its own instance of conversion manager to allow customization.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getConversionManager</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.core.databaseaccess.CorePlatform&lt;org.eclipse.persistence.internal.helper.ConversionManager&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>getConversionManager</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.Platform</code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>getConversionManager</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</code></dd>
</dl>
</li>
</ul>
<a name="buildCallFromStatement-org.eclipse.persistence.internal.expressions.SQLStatement-org.eclipse.persistence.queries.DatabaseQuery-org.eclipse.persistence.internal.sessions.AbstractSession-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>buildCallFromStatement</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourceCall&nbsp;buildCallFromStatement(org.eclipse.persistence.internal.expressions.SQLStatement&nbsp;statement,
                                                                                             <a href="../../../../org/eclipse/persistence/queries/DatabaseQuery.html" title="class in org.eclipse.persistence.queries">DatabaseQuery</a>&nbsp;query,
                                                                                             org.eclipse.persistence.internal.sessions.AbstractSession&nbsp;session)</pre>
<div class="block">INTERNAL:
 Override this method to throw an exception by default.
 Platforms that support dynamic querying can override this to generate an EISInteraction.</div>
</li>
</ul>
<a name="buildNativeCall-java.lang.String-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>buildNativeCall</h4>
<pre>public&nbsp;org.eclipse.persistence.internal.databaseaccess.DatasourceCall&nbsp;buildNativeCall(<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;queryString)</pre>
<div class="block">INTERNAL:
 Return the correct call type for the native query string.
 This allows EIS platforms to use different types of native calls.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>buildNativeCall</code>&nbsp;in class&nbsp;<code>org.eclipse.persistence.internal.databaseaccess.DatasourcePlatform</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/eis/EISOrderedCollectionChangeRecord.html" title="class in org.eclipse.persistence.eis"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/eclipse/persistence/eis/EISSequence.html" title="class in org.eclipse.persistence.eis"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/eclipse/persistence/eis/EISPlatform.html" target="_top">Frames</a></li>
<li><a href="EISPlatform.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>
