blob: 89faf7e272047ae216e81906911b16ac580feadd [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_252) on Fri Jul 16 09:38:48 UTC 2021 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Converter (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="Converter (EclipseLink 3.0.2, API Reference)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage">EclipseLink 3.0.2, API Reference</div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/eclipse/persistence/mappings/converters/ClassInstanceConverter.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/mappings/converters/ConverterClass.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/mappings/converters/Converter.html" target="_top">Frames</a></li>
<li><a href="Converter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.eclipse.persistence.mappings.converters</div>
<h2 title="Interface Converter" class="title">Interface Converter</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><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;, <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></dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/eclipse/persistence/oxm/mappings/converters/XMLConverter.html" title="interface in org.eclipse.persistence.oxm.mappings.converters">XMLConverter</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/eclipse/persistence/mappings/converters/ClassInstanceConverter.html" title="class in org.eclipse.persistence.mappings.converters">ClassInstanceConverter</a>, <a href="../../../../../org/eclipse/persistence/mappings/converters/ConverterClass.html" title="class in org.eclipse.persistence.mappings.converters">ConverterClass</a>, <a href="../../../../../org/eclipse/persistence/mappings/converters/EnumTypeConverter.html" title="class in org.eclipse.persistence.mappings.converters">EnumTypeConverter</a>, <a href="../../../../../org/eclipse/persistence/sdo/helper/InstanceClassConverter.html" title="class in org.eclipse.persistence.sdo.helper">InstanceClassConverter</a>, <a href="../../../../../org/eclipse/persistence/jaxb/JAXBEnumTypeConverter.html" title="class in org.eclipse.persistence.jaxb">JAXBEnumTypeConverter</a>, <a href="../../../../../org/eclipse/persistence/jaxb/JAXBTypesafeEnumConverter.html" title="class in org.eclipse.persistence.jaxb">JAXBTypesafeEnumConverter</a>, <a href="../../../../../org/eclipse/persistence/mappings/converters/ObjectTypeConverter.html" title="class in org.eclipse.persistence.mappings.converters">ObjectTypeConverter</a>, <a href="../../../../../org/eclipse/persistence/mappings/converters/SerializedObjectConverter.html" title="class in org.eclipse.persistence.mappings.converters">SerializedObjectConverter</a>, <a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html" title="class in org.eclipse.persistence.mappings.converters">TypeConversionConverter</a>, <a href="../../../../../org/eclipse/persistence/sdo/helper/metadata/TypeStringConverter.html" title="class in org.eclipse.persistence.sdo.helper.metadata">TypeStringConverter</a>, <a href="../../../../../org/eclipse/persistence/oxm/mappings/converters/XMLConverterAdapter.html" title="class in org.eclipse.persistence.oxm.mappings.converters">XMLConverterAdapter</a>, <a href="../../../../../org/eclipse/persistence/oxm/mappings/converters/XMLListConverter.html" title="class in org.eclipse.persistence.oxm.mappings.converters">XMLListConverter</a>, <a href="../../../../../org/eclipse/persistence/oxm/mappings/converters/XMLRootConverter.html" title="class in org.eclipse.persistence.oxm.mappings.converters">XMLRootConverter</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">Converter</span>
extends <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;, <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></pre>
<div class="block"><p><b>Purpose</b>: Conversion interface to allow conversion between object and data types.
This can be used in any mapping to convert between the object and data types without requiring code
placed in the object model.
TopLink provides several common converters, but the application can also define it own.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../org/eclipse/persistence/mappings/foundation/AbstractColumnMapping.html#setConverter-org.eclipse.persistence.mappings.converters.Converter-"><code>AbstractColumnMapping.setConverter(Converter)</code></a>,
<a href="../../../../../org/eclipse/persistence/mappings/DirectCollectionMapping.html#setValueConverter-org.eclipse.persistence.mappings.converters.Converter-"><code>DirectCollectionMapping.setValueConverter(Converter)</code></a>,
<a href="../../../../../org/eclipse/persistence/mappings/converters/ObjectTypeConverter.html" title="class in org.eclipse.persistence.mappings.converters"><code>ObjectTypeConverter</code></a>,
<a href="../../../../../org/eclipse/persistence/mappings/converters/TypeConversionConverter.html" title="class in org.eclipse.persistence.mappings.converters"><code>TypeConversionConverter</code></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">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><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/Converter.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;dataValue,
<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">PUBLIC:
Convert the databases' data representation of the value to the object's representation.</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/Converter.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;objectValue,
<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</code>
<div class="block">PUBLIC:
Convert the object's representation of the value to the databases' data representation.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.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">PUBLIC:
Allow for any initialization.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/eclipse/persistence/mappings/converters/Converter.html#isMutable--">isMutable</a></span>()</code>
<div class="block">PUBLIC:
If the converter converts the value to a mutable value, i.e.</div>
</td>
</tr>
</table>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="convertObjectValueToDataValue-java.lang.Object-org.eclipse.persistence.sessions.Session-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>convertObjectValueToDataValue</h4>
<pre><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;objectValue,
<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">PUBLIC:
Convert the object's representation of the value to the databases' data representation.
For example this could convert between a Calendar Java type and the sql.Time datatype.</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>
</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><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;dataValue,
<a href="../../../../../org/eclipse/persistence/sessions/Session.html" title="interface in org.eclipse.persistence.sessions">Session</a>&nbsp;session)</pre>
<div class="block">PUBLIC:
Convert the databases' data representation of the value to the object's representation.
For example this could convert between an sql.Time datatype and the Java Calendar 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>
</dl>
</li>
</ul>
<a name="isMutable--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isMutable</h4>
<pre>boolean&nbsp;isMutable()</pre>
<div class="block">PUBLIC:
If the converter converts the value to a mutable value, i.e.
a value that can have its' parts changed without being replaced,
then it must return true. If the value is not mutable, cannot be changed without
replacing the whole value then false must be returned.
This is used within the UnitOfWork to determine how to clone.</div>
</li>
</ul>
<a name="initialize-org.eclipse.persistence.mappings.DatabaseMapping-org.eclipse.persistence.sessions.Session-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>initialize</h4>
<pre>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">PUBLIC:
Allow for any initialization.</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>
</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/mappings/converters/ClassInstanceConverter.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/eclipse/persistence/mappings/converters/ConverterClass.html" title="class in org.eclipse.persistence.mappings.converters"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/eclipse/persistence/mappings/converters/Converter.html" target="_top">Frames</a></li>
<li><a href="Converter.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2021 <a href="http://www.eclipse.org/eclipselink">Eclipse.org - EclipseLink Project</a>. All rights reserved.</small></p>
</body>
</html>