<!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 Thu Apr 08 02:07:19 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>TypeConversionConverter (EclipseLink 3.0.1, API Reference)</title>
<meta name="date" content="2021-04-08">
<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="TypeConversionConverter (EclipseLink 3.0.1, 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};
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.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/mappings/converters/SerializedObjectConverter.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/mappings/converters/TypeConversionConverter.html" target="_top">Frames</a></li>
<li><a href="TypeConversionConverter.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.mappings.converters</div>
<h2 title="Class TypeConversionConverter" class="title">Class TypeConversionConverter</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.mappings.converters.TypeConversionConverter</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="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html" title="interface in org.eclipse.persistence.core.mappings.converters">CoreConverter</a>&lt;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>,<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&gt;, org.eclipse.persistence.internal.descriptors.ClassNameConversionRequired, <a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="typeNameLabel">TypeConversionConverter</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a>, org.eclipse.persistence.internal.descriptors.ClassNameConversionRequired</pre>
<div class="block"><b>Purpose</b>: Type conversion converters are used to explicitly map a database type to a
 Java type.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../serialized-form.html#org.eclipse.persistence.mappings.converters.TypeConversionConverter">Serialized Form</a></dd>
<dt><span class="simpleTagLabel">Author:</span></dt>
<dd>James Sutherland</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/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#dataClass">dataClass</a></span></code>
<div class="block">Field type</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#dataClassName">dataClassName</a></span></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#mapping">mapping</a></span></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#objectClass">objectClass</a></span></code>
<div class="block">Object type</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#objectClassName">objectClassName</a></span></code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#TypeConversionConverter--">TypeConversionConverter</a></span>()</code>
<div class="block">PUBLIC:
 Default constructor.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#TypeConversionConverter-org.eclipse.persistence.mappings.DatabaseMapping-">TypeConversionConverter</a></span>(<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>&nbsp;mapping)</code>
<div class="block">PUBLIC:
 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/mappings/converters/TypeConversionConverter.html#convertClassNamesToClasses-java.lang.ClassLoader-">convertClassNamesToClasses</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</code>
<div class="block">INTERNAL:
 Convert all the class-name-based settings in this converter to actual class-based
 settings.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<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/mappings/converters/TypeConversionConverter.html#convertDataValueToObjectValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">convertDataValueToObjectValue</a></span>(<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;fieldValue,
                             <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">INTERNAL:
 The field value must first be converted to the field type, then the attribute type.</div>
</td>
</tr>
<tr id="i2" 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/mappings/converters/TypeConversionConverter.html#convertObjectValueToDataValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">convertObjectValueToDataValue</a></span>(<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;attributeValue,
                             <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">INTERNAL:
  Convert to the field class.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#getDataClass--">getDataClass</a></span>()</code>
<div class="block">PUBLIC:
 Returns the class type of the data value.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#getDataClassName--">getDataClassName</a></span>()</code>
<div class="block">INTERNAL:
 Return the name of the data type for the MW usage.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#getMapping--">getMapping</a></span>()</code>
<div class="block">INTERNAL:
 Return the mapping.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#getObjectClass--">getObjectClass</a></span>()</code>
<div class="block">PUBLIC:
 Returns the class type of the object value.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#getObjectClassName--">getObjectClassName</a></span>()</code>
<div class="block">INTERNAL:
 Return the name of the object type for the MW usage.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#initialize-org.eclipse.persistence.mappings.DatabaseMapping-org.eclipse.persistence.sessions.Session-">initialize</a></span>(<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>&nbsp;mapping,
          <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">INTERNAL:
 Set the mapping.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#isMutable--">isMutable</a></span>()</code>
<div class="block">INTERNAL:
 If the converter converts the value to a non-atomic value, i.e.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#setDataClass-java.lang.Class-">setDataClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;dataClass)</code>
<div class="block">PUBLIC:
 Set the class type of the data value.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#setDataClassName-java.lang.String-">setDataClassName</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;dataClassName)</code>
<div class="block">INTERNAL:
 Set the name of the data type for the MW usage.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#setObjectClass-java.lang.Class-">setObjectClass</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;objectClass)</code>
<div class="block">PUBLIC:
 Set the class type of the object value.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html#setObjectClassName-java.lang.String-">setObjectClassName</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;objectClassName)</code>
<div class="block">INTERNAL:
 Set the name of the object type for the MW usage.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#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="mapping">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>mapping</h4>
<pre>protected&nbsp;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a> mapping</pre>
</li>
</ul>
<a name="dataClass">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a> dataClass</pre>
<div class="block">Field type</div>
</li>
</ul>
<a name="dataClassName">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dataClassName</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> dataClassName</pre>
</li>
</ul>
<a name="objectClass">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectClass</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a> objectClass</pre>
<div class="block">Object type</div>
</li>
</ul>
<a name="objectClassName">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>objectClassName</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> objectClassName</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="TypeConversionConverter--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>TypeConversionConverter</h4>
<pre>public&nbsp;TypeConversionConverter()</pre>
<div class="block">PUBLIC:
 Default constructor.</div>
</li>
</ul>
<a name="TypeConversionConverter-org.eclipse.persistence.mappings.DatabaseMapping-">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>TypeConversionConverter</h4>
<pre>public&nbsp;TypeConversionConverter(<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>&nbsp;mapping)</pre>
<div class="block">PUBLIC:
 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="convertClassNamesToClasses-java.lang.ClassLoader-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertClassNamesToClasses</h4>
<pre>public&nbsp;void&nbsp;convertClassNamesToClasses(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html?is-external=true" title="class or interface in java.lang">ClassLoader</a>&nbsp;classLoader)</pre>
<div class="block">INTERNAL:
 Convert all the class-name-based settings in this converter to actual class-based
 settings. This method is used when converting a project that has been built
 with class names to a project with classes.
 This method is implemented by subclasses as necessary.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code>convertClassNamesToClasses</code>&nbsp;in interface&nbsp;<code>org.eclipse.persistence.internal.descriptors.ClassNameConversionRequired</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>classLoader</code> - </dd>
</dl>
</li>
</ul>
<a name="convertDataValueToObjectValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertDataValueToObjectValue</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;convertDataValueToObjectValue(<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;fieldValue,
                                            <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">INTERNAL:
 The field value must first be converted to the field type, then the attribute type.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html#convertDataValueToObjectValue-java.lang.Object-SESSION-">convertDataValueToObjectValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html" title="interface in org.eclipse.persistence.core.mappings.converters">CoreConverter</a>&lt;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>,<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html#convertDataValueToObjectValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">convertDataValueToObjectValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a></code></dd>
</dl>
</li>
</ul>
<a name="getObjectClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectClass</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;getObjectClass()</pre>
<div class="block">PUBLIC:
 Returns the class type of the object value.</div>
</li>
</ul>
<a name="getObjectClassName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getObjectClassName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getObjectClassName()</pre>
<div class="block">INTERNAL:
 Return the name of the object type for the MW usage.</div>
</li>
</ul>
<a name="getDataClass--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataClass</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;getDataClass()</pre>
<div class="block">PUBLIC:
 Returns the class type of the data value.</div>
</li>
</ul>
<a name="getDataClassName--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataClassName</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getDataClassName()</pre>
<div class="block">INTERNAL:
 Return the name of the data type for the MW usage.</div>
</li>
</ul>
<a name="setDataClass-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataClass</h4>
<pre>public&nbsp;void&nbsp;setDataClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;dataClass)</pre>
<div class="block">PUBLIC:
 Set the class type of the data value.</div>
</li>
</ul>
<a name="setDataClassName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDataClassName</h4>
<pre>public&nbsp;void&nbsp;setDataClassName(<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;dataClassName)</pre>
<div class="block">INTERNAL:
 Set the name of the data type for the MW usage.</div>
</li>
</ul>
<a name="setObjectClass-java.lang.Class-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setObjectClass</h4>
<pre>public&nbsp;void&nbsp;setObjectClass(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&nbsp;objectClass)</pre>
<div class="block">PUBLIC:
 Set the class type of the object value.</div>
</li>
</ul>
<a name="setObjectClassName-java.lang.String-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setObjectClassName</h4>
<pre>public&nbsp;void&nbsp;setObjectClassName(<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;objectClassName)</pre>
<div class="block">INTERNAL:
 Set the name of the object type for the MW usage.</div>
</li>
</ul>
<a name="convertObjectValueToDataValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertObjectValueToDataValue</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;convertObjectValueToDataValue(<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;attributeValue,
                                            <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">INTERNAL:
  Convert to the field class.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html#convertObjectValueToDataValue-java.lang.Object-SESSION-">convertObjectValueToDataValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html" title="interface in org.eclipse.persistence.core.mappings.converters">CoreConverter</a>&lt;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>,<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html#convertObjectValueToDataValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">convertObjectValueToDataValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a></code></dd>
</dl>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.mappings.DatabaseMapping-org.eclipse.persistence.sessions.Session-">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initialize</h4>
<pre>public&nbsp;void&nbsp;initialize(<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>&nbsp;mapping,
                       <a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">INTERNAL:
 Set the mapping.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html#initialize-MAPPING-SESSION-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/core/mappings/converters/CoreConverter.html" title="interface in org.eclipse.persistence.core.mappings.converters">CoreConverter</a>&lt;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>,<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&gt;</code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html#initialize-org.eclipse.persistence.mappings.DatabaseMapping-org.eclipse.persistence.sessions.Session-">initialize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a></code></dd>
</dl>
</li>
</ul>
<a name="getMapping--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMapping</h4>
<pre>protected&nbsp;<a href="../../../../../org/eclipse/persistence/mappings/DatabaseMapping.html" title="class in org.eclipse.persistence.mappings">DatabaseMapping</a>&nbsp;getMapping()</pre>
<div class="block">INTERNAL:
 Return the mapping.</div>
</li>
</ul>
<a name="isMutable--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isMutable</h4>
<pre>public&nbsp;boolean&nbsp;isMutable()</pre>
<div class="block">INTERNAL:
 If the converter converts the value to a non-atomic value, i.e.
 a value that can have its' parts changed without being replaced,
 then it must return false, serialization can be non-atomic.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html#isMutable--">isMutable</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html" title="interface in org.eclipse.persistence.mappings.converters">Converter</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.1, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/mappings/converters/SerializedObjectConverter.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li>Next&nbsp;Class</li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/mappings/converters/TypeConversionConverter.html" target="_top">Frames</a></li>
<li><a href="TypeConversionConverter.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>
