blob: 84b35c5e112ae5cc3b1f54278a9cc8ad9f7da6b7 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.10) on Mon Dec 05 10:27:04 MSK 2022 -->
<title>ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.2.RC2 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-12-05">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ExtendedTypeMap (cayenne-doc: Cayenne Documentation 4.2.RC2 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":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";
var pathtoroot = "../../../../../";
var useModuleDirectories = false;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExtendedTypeMap.html">Use</a></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"><a href="http://cayenne.apache.org" target="top">Apache Cayenne</a></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.cayenne.access.types</a></div>
<h2 title="Class ExtendedTypeMap" class="title">Class ExtendedTypeMap</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" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.cayenne.access.types.ExtendedTypeMap</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">ExtendedTypeMap</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" class="externalLink">Object</a></pre>
<div class="block">Stores ExtendedTypes, implementing an algorithm to determine the right type
for a given Java class. See <a href="#getRegisteredType(java.lang.String)"><code>getRegisteredType(String)</code></a> documentation
for lookup algorithm details.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#defaultType">defaultType</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeAliases">typeAliases</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#typeMap">typeMap</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ExtendedTypeMap</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates new ExtendedTypeMap, populating it with default JDBC-compatible
types.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addFactory(org.apache.cayenne.access.types.ExtendedTypeFactory)">addFactory</a></span>&#8203;(<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types">ExtendedTypeFactory</a>&nbsp;factory)</code></th>
<td class="colLast">
<div class="block">Adds an ExtendedTypeFactory that will be consulted if no direct mapping
for a given class exists.</div>
</td>
</tr>
<tr id="i1" 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" class="externalLink">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#canonicalizedTypeName(java.lang.String)">canonicalizedTypeName</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;className)</code></th>
<td class="colLast">
<div class="block">For the class name returns a name "canonicalized" for the purpose of
ExtendedType lookup.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#createType(java.lang.String)">createType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;className)</code></th>
<td class="colLast">
<div class="block">Returns an ExtendedType for specific Java classes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultType()">getDefaultType</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a default ExtendedType that is used to handle unmapped types.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRegisteredType(java.lang.Class)">getRegisteredType</a></span>&#8203;(<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="externalLink">Class</a>&lt;?&gt;&nbsp;javaClass)</code></th>
<td class="colLast">
<div class="block">Returns a type registered for the class name.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRegisteredType(java.lang.String)">getRegisteredType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;javaClassName)</code></th>
<td class="colLast">
<div class="block">Returns a guaranteed non-null ExtendedType instance for a given Java
class name.</div>
</td>
</tr>
<tr id="i6" 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" class="externalLink">String</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRegisteredTypeNames()">getRegisteredTypeNames</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns array of Java class names supported by Cayenne for JDBC mapping.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#initDefaultFactories()">initDefaultFactories</a></span>()</code></th>
<td class="colLast">
<div class="block">Registers default factories for creating enum types and serializable
types.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#registerType(org.apache.cayenne.access.types.ExtendedType)">registerType</a></span>&#8203;(<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;type)</code></th>
<td class="colLast">
<div class="block">Adds a new type to the list of registered types.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeFactory(org.apache.cayenne.access.types.ExtendedTypeFactory)">removeFactory</a></span>&#8203;(<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types">ExtendedTypeFactory</a>&nbsp;factory)</code></th>
<td class="colLast">
<div class="block">Removes a factory from the registered factories if it was previously
added.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unregisterType(java.lang.String)">unregisterType</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;javaClassName)</code></th>
<td class="colLast">
<div class="block">Removes registered ExtendedType object corresponding to
<code>javaClassName</code> parameter.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">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" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="typeAliases">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeAliases</h4>
<pre>protected&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&gt; typeAliases</pre>
</li>
</ul>
<a id="typeMap">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>typeMap</h4>
<pre>protected final&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util" class="externalLink">Map</a>&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>,&#8203;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&gt; typeMap</pre>
</li>
</ul>
<a id="defaultType">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>defaultType</h4>
<pre>protected&nbsp;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a> defaultType</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ExtendedTypeMap</h4>
<pre>public&nbsp;ExtendedTypeMap()</pre>
<div class="block">Creates new ExtendedTypeMap, populating it with default JDBC-compatible
types. If JDK version is at least 1.5, also loads support for enumerated
types.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="initDefaultFactories()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>initDefaultFactories</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;initDefaultFactories()</pre>
<div class="block">Registers default factories for creating enum types and serializable
types. Note that user-defined factories are consulted before any default
factory.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</li>
</ul>
<a id="addFactory(org.apache.cayenne.access.types.ExtendedTypeFactory)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addFactory</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addFactory&#8203;(<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types">ExtendedTypeFactory</a>&nbsp;factory)</pre>
<div class="block">Adds an ExtendedTypeFactory that will be consulted if no direct mapping
for a given class exists. This feature can be used to map interfaces.
<p>
<i>Note that the order in which factories are added is important, as
factories are consulted in turn when an ExtendedType is looked up, and
lookup is stopped when any factory provides a non-null type.</i>
</p></div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a id="removeFactory(org.apache.cayenne.access.types.ExtendedTypeFactory)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeFactory</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeFactory&#8203;(<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types">ExtendedTypeFactory</a>&nbsp;factory)</pre>
<div class="block">Removes a factory from the registered factories if it was previously
added.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a id="registerType(org.apache.cayenne.access.types.ExtendedType)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;registerType&#8203;(<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;type)</pre>
<div class="block">Adds a new type to the list of registered types. If there is another type
registered for a class described by the <code>type</code> argument, the
old handler is overridden by the new one.</div>
</li>
</ul>
<a id="getDefaultType()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultType</h4>
<pre class="methodSignature">public&nbsp;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;getDefaultType()</pre>
<div class="block">Returns a default ExtendedType that is used to handle unmapped types.</div>
</li>
</ul>
<a id="getRegisteredType(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredType</h4>
<pre class="methodSignature">public&nbsp;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;getRegisteredType&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;javaClassName)</pre>
<div class="block">Returns a guaranteed non-null ExtendedType instance for a given Java
class name. Primitive class names are internally replaced by the
non-primitive counterparts. The following lookup sequence is used to
determine the type:
<ul>
<li>First the methods checks for an ExtendedType explicitly registered
with the map for a given class name (most common types are registered by
Cayenne internally; users can register their own).</li>
<li>Second, the method tries to obtain a type by iterating through
<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types"><code>ExtendedTypeFactory</code></a> instances registered by users. If a factory
returns a non-null type, it is returned to the user and the rest of the
factories are ignored.</li>
<li>Third, the method iterates through standard
<a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types"><code>ExtendedTypeFactory</code></a> instances that can dynamically construct
extended types for serializable objects and JDK 1.5 enums.</li>
<li>If all the methods above failed, the default type is returned that
relies on default JDBC driver mapping to set and get objects.</li>
</ul>
<i>Note that for array types class name must be in the form
'MyClass[]'</i>.</div>
</li>
</ul>
<a id="getRegisteredType(java.lang.Class)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredType</h4>
<pre class="methodSignature">public&nbsp;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;getRegisteredType&#8203;(<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="externalLink">Class</a>&lt;?&gt;&nbsp;javaClass)</pre>
<div class="block">Returns a type registered for the class name. If no such type exists,
returns the default type. It is guaranteed that this method returns a
non-null ExtendedType instance.</div>
</li>
</ul>
<a id="unregisterType(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unregisterType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;unregisterType&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;javaClassName)</pre>
<div class="block">Removes registered ExtendedType object corresponding to
<code>javaClassName</code> parameter.</div>
</li>
</ul>
<a id="getRegisteredTypeNames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisteredTypeNames</h4>
<pre class="methodSignature">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" class="externalLink">String</a>[]&nbsp;getRegisteredTypeNames()</pre>
<div class="block">Returns array of Java class names supported by Cayenne for JDBC mapping.</div>
</li>
</ul>
<a id="createType(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>createType</h4>
<pre class="methodSignature">protected&nbsp;<a href="ExtendedType.html" title="interface in org.apache.cayenne.access.types">ExtendedType</a>&nbsp;createType&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;className)</pre>
<div class="block">Returns an ExtendedType for specific Java classes. Uses user-provided and
Cayenne-provided <a href="ExtendedTypeFactory.html" title="interface in org.apache.cayenne.access.types"><code>ExtendedTypeFactory</code></a> factories to instantiate the
ExtendedType. All primitive classes must be converted to the
corresponding Java classes by the callers.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a default type for a given class or null if a class has no
default type mapping.</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.2</dd>
</dl>
</li>
</ul>
<a id="canonicalizedTypeName(java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>canonicalizedTypeName</h4>
<pre class="methodSignature">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" class="externalLink">String</a>&nbsp;canonicalizedTypeName&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;className)</pre>
<div class="block">For the class name returns a name "canonicalized" for the purpose of
ExtendedType lookup.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>4.0</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ExtendedTypeMap.html">Use</a></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"><a href="http://cayenne.apache.org" target="top">Apache Cayenne</a></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</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 id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2001&#x2013;2022 <a href="https://cayenne.apache.org/">Apache Cayenne</a>. All rights reserved.</small></p>
</footer>
</body>
</html>