• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<!--NewPage-->
3<HTML>
4<HEAD>
5<!-- Generated by javadoc (build 1.6.0_35) on Tue Oct 09 17:08:12 PDT 2012 -->
6<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
7<TITLE>
8DeserializerCache (jackson-databind 2.1.0 API)
9</TITLE>
10
11<META NAME="date" CONTENT="2012-10-09">
12
13<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
14
15<SCRIPT type="text/javascript">
16function windowTitle()
17{
18    if (location.href.indexOf('is-external=true') == -1) {
19        parent.document.title="DeserializerCache (jackson-databind 2.1.0 API)";
20    }
21}
22</SCRIPT>
23<NOSCRIPT>
24</NOSCRIPT>
25
26</HEAD>
27
28<BODY BGCOLOR="white" onload="windowTitle();">
29<HR>
30
31
32<!-- ========= START OF TOP NAVBAR ======= -->
33<A NAME="navbar_top"><!-- --></A>
34<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
35<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
36<TR>
37<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
38<A NAME="navbar_top_firstrow"><!-- --></A>
39<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
40  <TR ALIGN="center" VALIGN="top">
41  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
42  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
43  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
44  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DeserializerCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
45  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
46  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
47  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
48  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
49  </TR>
50</TABLE>
51</TD>
52<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
53</EM>
54</TD>
55</TR>
56
57<TR>
58<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
59&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html" title="class in com.fasterxml.jackson.databind.deser"><B>PREV CLASS</B></A>&nbsp;
60&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser"><B>NEXT CLASS</B></A></FONT></TD>
61<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
62  <A HREF="../../../../../index.html?com/fasterxml/jackson/databind/deser/DeserializerCache.html" target="_top"><B>FRAMES</B></A>  &nbsp;
63&nbsp;<A HREF="DeserializerCache.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
64&nbsp;<SCRIPT type="text/javascript">
65  <!--
66  if(window==top) {
67    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
68  }
69  //-->
70</SCRIPT>
71<NOSCRIPT>
72  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
73</NOSCRIPT>
74
75
76</FONT></TD>
77</TR>
78<TR>
79<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
80  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
81<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
82DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
83</TR>
84</TABLE>
85<A NAME="skip-navbar_top"></A>
86<!-- ========= END OF TOP NAVBAR ========= -->
87
88<HR>
89<!-- ======== START OF CLASS DATA ======== -->
90<H2>
91<FONT SIZE="-1">
92com.fasterxml.jackson.databind.deser</FONT>
93<BR>
94Class DeserializerCache</H2>
95<PRE>
96<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
97  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>com.fasterxml.jackson.databind.deser.DeserializerCache</B>
98</PRE>
99<DL>
100<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DD>
101</DL>
102<HR>
103<DL>
104<DT><PRE>public final class <B>DeserializerCache</B><DT>extends <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="http://docs.oracle.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
105</PRE>
106
107<P>
108Class that defines caching layer between callers (like
109 <A HREF="../../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><CODE>ObjectMapper</CODE></A>,
110 <A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind"><CODE>DeserializationContext</CODE></A>)
111 and classes that construct deserializers
112 (<A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser"><CODE>DeserializerFactory</CODE></A>).
113<P>
114
115<P>
116<DL>
117<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#com.fasterxml.jackson.databind.deser.DeserializerCache">Serialized Form</A></DL>
118<HR>
119
120<P>
121<!-- =========== FIELD SUMMARY =========== -->
122
123<A NAME="field_summary"><!-- --></A>
124<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
125<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
126<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
127<B>Field Summary</B></FONT></TH>
128</TR>
129<TR BGCOLOR="white" CLASS="TableRowColor">
130<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
131<CODE>protected &nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</A>&lt;<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>,<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&gt;</CODE></FONT></TD>
132<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_cachedDeserializers">_cachedDeserializers</A></B></CODE>
133
134<BR>
135&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;We will also cache some dynamically constructed deserializers;
136 specifically, ones that are expensive to construct.</TD>
137</TR>
138<TR BGCOLOR="white" CLASS="TableRowColor">
139<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
140<CODE>protected &nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</A>&lt;<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>,<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&gt;</CODE></FONT></TD>
141<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_incompleteDeserializers">_incompleteDeserializers</A></B></CODE>
142
143<BR>
144&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;During deserializer construction process we may need to keep track of partially
145 completed deserializers, to resolve cyclic dependencies.</TD>
146</TR>
147</TABLE>
148&nbsp;
149<!-- ======== CONSTRUCTOR SUMMARY ======== -->
150
151<A NAME="constructor_summary"><!-- --></A>
152<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
153<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
154<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
155<B>Constructor Summary</B></FONT></TH>
156</TR>
157<TR BGCOLOR="white" CLASS="TableRowColor">
158<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#DeserializerCache()">DeserializerCache</A></B>()</CODE>
159
160<BR>
161&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
162</TR>
163</TABLE>
164&nbsp;
165<!-- ========== METHOD SUMMARY =========== -->
166
167<A NAME="method_summary"><!-- --></A>
168<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
169<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
170<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
171<B>Method Summary</B></FONT></TH>
172</TR>
173<TR BGCOLOR="white" CLASS="TableRowColor">
174<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
175<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
176<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_createAndCache2(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">_createAndCache2</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
177                 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
178                 <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
179
180<BR>
181&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that handles actual construction (via factory) and caching (both
182 intermediate and eventual)</TD>
183</TR>
184<TR BGCOLOR="white" CLASS="TableRowColor">
185<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
186<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
187<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_createAndCacheValueDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">_createAndCacheValueDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
188                                 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
189                                 <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
190
191<BR>
192&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that will try to create a deserializer for given type,
193 and resolve and cache it if necessary</TD>
194</TR>
195<TR BGCOLOR="white" CLASS="TableRowColor">
196<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
197<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
198<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_createDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">_createDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
199                    <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
200                    <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
201
202<BR>
203&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that does the heavy lifting of checking for per-type annotations,
204 find out full type, and figure out which actual factory method
205 to call.</TD>
206</TR>
207<TR BGCOLOR="white" CLASS="TableRowColor">
208<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
209<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
210<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_findCachedDeserializer(com.fasterxml.jackson.databind.JavaType)">_findCachedDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
211
212<BR>
213&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
214</TR>
215<TR BGCOLOR="white" CLASS="TableRowColor">
216<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
217<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/KeyDeserializer.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer</A></CODE></FONT></TD>
218<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_handleUnknownKeyDeserializer(com.fasterxml.jackson.databind.JavaType)">_handleUnknownKeyDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
219
220<BR>
221&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
222</TR>
223<TR BGCOLOR="white" CLASS="TableRowColor">
224<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
225<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
226<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#_handleUnknownValueDeserializer(com.fasterxml.jackson.databind.JavaType)">_handleUnknownValueDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
227
228<BR>
229&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
230</TR>
231<TR BGCOLOR="white" CLASS="TableRowColor">
232<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
233<CODE>&nbsp;int</CODE></FONT></TD>
234<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#cachedDeserializersCount()">cachedDeserializersCount</A></B>()</CODE>
235
236<BR>
237&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that can be used to determine how many deserializers this
238 provider is caching currently
239 (if it does caching: default implementation does)
240 Exact count depends on what kind of deserializers get cached;
241 default implementation caches only dynamically constructed deserializers,
242 but not eagerly constructed standard deserializers (which is different
243 from how serializer provider works).</TD>
244</TR>
245<TR BGCOLOR="white" CLASS="TableRowColor">
246<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
247<CODE>protected &nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
248<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#findDeserializerFromAnnotation(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.introspect.Annotated)">findDeserializerFromAnnotation</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
249                               <A HREF="../../../../../com/fasterxml/jackson/databind/introspect/Annotated.html" title="class in com.fasterxml.jackson.databind.introspect">Annotated</A>&nbsp;ann)</CODE>
250
251<BR>
252&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Helper method called to check if a class or method
253 has annotation that tells which class to use for deserialization.</TD>
254</TR>
255<TR BGCOLOR="white" CLASS="TableRowColor">
256<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
257<CODE>&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/KeyDeserializer.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer</A></CODE></FONT></TD>
258<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#findKeyDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">findKeyDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
259                    <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
260                    <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
261
262<BR>
263&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method called to get hold of a deserializer to use for deserializing
264 keys for <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A>.</TD>
265</TR>
266<TR BGCOLOR="white" CLASS="TableRowColor">
267<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
268<CODE>&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
269<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#findValueDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">findValueDeserializer</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
270                      <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
271                      <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;propertyType)</CODE>
272
273<BR>
274&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method called to get hold of a deserializer for a value of given type;
275 or if no such deserializer can be found, a default handler (which
276 may do a best-effort generic serialization or just simply
277 throw an exception when invoked).</TD>
278</TR>
279<TR BGCOLOR="white" CLASS="TableRowColor">
280<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
281<CODE>&nbsp;void</CODE></FONT></TD>
282<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#flushCachedDeserializers()">flushCachedDeserializers</A></B>()</CODE>
283
284<BR>
285&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method that will drop all dynamically constructed deserializers (ones that
286 are counted as result value for <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#cachedDeserializersCount()"><CODE>cachedDeserializersCount()</CODE></A>).</TD>
287</TR>
288<TR BGCOLOR="white" CLASS="TableRowColor">
289<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
290<CODE>&nbsp;boolean</CODE></FONT></TD>
291<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#hasValueDeserializerFor(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)">hasValueDeserializerFor</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
292                        <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
293                        <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</CODE>
294
295<BR>
296&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Method called to find out whether provider would be able to find
297 a deserializer for given type, using a root reference (i.e.</TD>
298</TR>
299</TABLE>
300&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
301<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
302<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
303<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
304</TR>
305<TR BGCOLOR="white" CLASS="TableRowColor">
306<TD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
307</TR>
308</TABLE>
309&nbsp;
310<P>
311
312<!-- ============ FIELD DETAIL =========== -->
313
314<A NAME="field_detail"><!-- --></A>
315<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
316<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
317<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
318<B>Field Detail</B></FONT></TH>
319</TR>
320</TABLE>
321
322<A NAME="_cachedDeserializers"><!-- --></A><H3>
323_cachedDeserializers</H3>
324<PRE>
325protected final <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentHashMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentHashMap</A>&lt;<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>,<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&gt; <B>_cachedDeserializers</B></PRE>
326<DL>
327<DD>We will also cache some dynamically constructed deserializers;
328 specifically, ones that are expensive to construct.
329 This currently means bean and Enum deserializers; array, List and Map
330 deserializers will not be cached.
331<p>
332 Given that we don't expect much concurrency for additions
333 (should very quickly converge to zero after startup), let's
334 explicitly define a low concurrency setting.
335<P>
336<DL>
337</DL>
338</DL>
339<HR>
340
341<A NAME="_incompleteDeserializers"><!-- --></A><H3>
342_incompleteDeserializers</H3>
343<PRE>
344protected final <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html?is-external=true" title="class or interface in java.util">HashMap</A>&lt;<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>,<A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&gt; <B>_incompleteDeserializers</B></PRE>
345<DL>
346<DD>During deserializer construction process we may need to keep track of partially
347 completed deserializers, to resolve cyclic dependencies. This is the
348 map used for storing deserializers before they are fully complete.
349<P>
350<DL>
351</DL>
352</DL>
353
354<!-- ========= CONSTRUCTOR DETAIL ======== -->
355
356<A NAME="constructor_detail"><!-- --></A>
357<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
358<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
359<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
360<B>Constructor Detail</B></FONT></TH>
361</TR>
362</TABLE>
363
364<A NAME="DeserializerCache()"><!-- --></A><H3>
365DeserializerCache</H3>
366<PRE>
367public <B>DeserializerCache</B>()</PRE>
368<DL>
369</DL>
370
371<!-- ============ METHOD DETAIL ========== -->
372
373<A NAME="method_detail"><!-- --></A>
374<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
375<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
376<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
377<B>Method Detail</B></FONT></TH>
378</TR>
379</TABLE>
380
381<A NAME="cachedDeserializersCount()"><!-- --></A><H3>
382cachedDeserializersCount</H3>
383<PRE>
384public int <B>cachedDeserializersCount</B>()</PRE>
385<DL>
386<DD>Method that can be used to determine how many deserializers this
387 provider is caching currently
388 (if it does caching: default implementation does)
389 Exact count depends on what kind of deserializers get cached;
390 default implementation caches only dynamically constructed deserializers,
391 but not eagerly constructed standard deserializers (which is different
392 from how serializer provider works).
393<p>
394 The main use case for this method is to allow conditional flushing of
395 deserializer cache, if certain number of entries is reached.
396<P>
397<DD><DL>
398</DL>
399</DD>
400<DD><DL>
401</DL>
402</DD>
403</DL>
404<HR>
405
406<A NAME="flushCachedDeserializers()"><!-- --></A><H3>
407flushCachedDeserializers</H3>
408<PRE>
409public void <B>flushCachedDeserializers</B>()</PRE>
410<DL>
411<DD>Method that will drop all dynamically constructed deserializers (ones that
412 are counted as result value for <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#cachedDeserializersCount()"><CODE>cachedDeserializersCount()</CODE></A>).
413 This can be used to remove memory usage (in case some deserializers are
414 only used once or so), or to force re-construction of deserializers after
415 configuration changes for mapper than owns the provider.
416<P>
417<DD><DL>
418</DL>
419</DD>
420<DD><DL>
421</DL>
422</DD>
423</DL>
424<HR>
425
426<A NAME="findValueDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
427findValueDeserializer</H3>
428<PRE>
429public <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>findValueDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
430                                                      <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
431                                                      <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;propertyType)
432                                               throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
433<DL>
434<DD>Method called to get hold of a deserializer for a value of given type;
435 or if no such deserializer can be found, a default handler (which
436 may do a best-effort generic serialization or just simply
437 throw an exception when invoked).
438<p>
439 Note: this method is only called for value types; not for keys.
440 Key deserializers can be accessed using <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html#findKeyDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><CODE>findKeyDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)</CODE></A>.
441<p>
442 Note also that deserializer returned is guaranteed to be resolved
443 (if it is of type <A HREF="../../../../../com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html" title="interface in com.fasterxml.jackson.databind.deser"><CODE>ResolvableDeserializer</CODE></A>), but
444 not contextualized (wrt <A HREF="../../../../../com/fasterxml/jackson/databind/deser/ContextualDeserializer.html" title="interface in com.fasterxml.jackson.databind.deser"><CODE>ContextualDeserializer</CODE></A>): caller
445 has to handle latter if necessary.
446<P>
447<DD><DL>
448</DL>
449</DD>
450<DD><DL>
451<DT><B>Parameters:</B><DD><CODE>ctxt</CODE> - Deserialization context<DD><CODE>propertyType</CODE> - Declared type of the value to deserializer (obtained using
452   'setter' method signature and/or type annotations
453<DT><B>Throws:</B>
454<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE> - if there are fatal problems with
455   accessing suitable deserializer; including that of not
456   finding any serializer</DL>
457</DD>
458</DL>
459<HR>
460
461<A NAME="findKeyDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
462findKeyDeserializer</H3>
463<PRE>
464public <A HREF="../../../../../com/fasterxml/jackson/databind/KeyDeserializer.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer</A> <B>findKeyDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
465                                           <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
466                                           <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
467                                    throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
468<DL>
469<DD>Method called to get hold of a deserializer to use for deserializing
470 keys for <A HREF="http://docs.oracle.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util"><CODE>Map</CODE></A>.
471<P>
472<DD><DL>
473</DL>
474</DD>
475<DD><DL>
476
477<DT><B>Throws:</B>
478<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE> - if there are fatal problems with
479   accessing suitable key deserializer; including that of not
480   finding any serializer</DL>
481</DD>
482</DL>
483<HR>
484
485<A NAME="hasValueDeserializerFor(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
486hasValueDeserializerFor</H3>
487<PRE>
488public boolean <B>hasValueDeserializerFor</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
489                                       <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
490                                       <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</PRE>
491<DL>
492<DD>Method called to find out whether provider would be able to find
493 a deserializer for given type, using a root reference (i.e. not
494 through fields or membership in an array or collection)
495<P>
496<DD><DL>
497</DL>
498</DD>
499<DD><DL>
500</DL>
501</DD>
502</DL>
503<HR>
504
505<A NAME="_findCachedDeserializer(com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
506_findCachedDeserializer</H3>
507<PRE>
508protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>_findCachedDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)</PRE>
509<DL>
510<DD><DL>
511</DL>
512</DD>
513<DD><DL>
514</DL>
515</DD>
516</DL>
517<HR>
518
519<A NAME="_createAndCacheValueDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
520_createAndCacheValueDeserializer</H3>
521<PRE>
522protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>_createAndCacheValueDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
523                                                                    <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
524                                                                    <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
525                                                             throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
526<DL>
527<DD>Method that will try to create a deserializer for given type,
528 and resolve and cache it if necessary
529<P>
530<DD><DL>
531</DL>
532</DD>
533<DD><DL>
534<DT><B>Parameters:</B><DD><CODE>ctxt</CODE> - Currently active deserialization context<DD><CODE>type</CODE> - Type of property to deserialize
535<DT><B>Throws:</B>
536<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
537</DD>
538</DL>
539<HR>
540
541<A NAME="_createAndCache2(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
542_createAndCache2</H3>
543<PRE>
544protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>_createAndCache2</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
545                                                    <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
546                                                    <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
547                                             throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
548<DL>
549<DD>Method that handles actual construction (via factory) and caching (both
550 intermediate and eventual)
551<P>
552<DD><DL>
553</DL>
554</DD>
555<DD><DL>
556
557<DT><B>Throws:</B>
558<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
559</DD>
560</DL>
561<HR>
562
563<A NAME="_createDeserializer(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.deser.DeserializerFactory, com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
564_createDeserializer</H3>
565<PRE>
566protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>_createDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
567                                                       <A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser">DeserializerFactory</A>&nbsp;factory,
568                                                       <A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
569                                                throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
570<DL>
571<DD>Method that does the heavy lifting of checking for per-type annotations,
572 find out full type, and figure out which actual factory method
573 to call.
574<P>
575<DD><DL>
576</DL>
577</DD>
578<DD><DL>
579
580<DT><B>Throws:</B>
581<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
582</DD>
583</DL>
584<HR>
585
586<A NAME="findDeserializerFromAnnotation(com.fasterxml.jackson.databind.DeserializationContext, com.fasterxml.jackson.databind.introspect.Annotated)"><!-- --></A><H3>
587findDeserializerFromAnnotation</H3>
588<PRE>
589protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>findDeserializerFromAnnotation</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A>&nbsp;ctxt,
590                                                                  <A HREF="../../../../../com/fasterxml/jackson/databind/introspect/Annotated.html" title="class in com.fasterxml.jackson.databind.introspect">Annotated</A>&nbsp;ann)
591                                                           throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
592<DL>
593<DD>Helper method called to check if a class or method
594 has annotation that tells which class to use for deserialization.
595 Returns null if no such annotation found.
596<P>
597<DD><DL>
598</DL>
599</DD>
600<DD><DL>
601
602<DT><B>Throws:</B>
603<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
604</DD>
605</DL>
606<HR>
607
608<A NAME="_handleUnknownValueDeserializer(com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
609_handleUnknownValueDeserializer</H3>
610<PRE>
611protected <A HREF="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</A>&lt;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <B>_handleUnknownValueDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
612                                                            throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
613<DL>
614<DD><DL>
615</DL>
616</DD>
617<DD><DL>
618
619<DT><B>Throws:</B>
620<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
621</DD>
622</DL>
623<HR>
624
625<A NAME="_handleUnknownKeyDeserializer(com.fasterxml.jackson.databind.JavaType)"><!-- --></A><H3>
626_handleUnknownKeyDeserializer</H3>
627<PRE>
628protected <A HREF="../../../../../com/fasterxml/jackson/databind/KeyDeserializer.html" title="class in com.fasterxml.jackson.databind">KeyDeserializer</A> <B>_handleUnknownKeyDeserializer</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/JavaType.html" title="class in com.fasterxml.jackson.databind">JavaType</A>&nbsp;type)
629                                                 throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE>
630<DL>
631<DD><DL>
632</DL>
633</DD>
634<DD><DL>
635
636<DT><B>Throws:</B>
637<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL>
638</DD>
639</DL>
640<!-- ========= END OF CLASS DATA ========= -->
641<HR>
642
643
644<!-- ======= START OF BOTTOM NAVBAR ====== -->
645<A NAME="navbar_bottom"><!-- --></A>
646<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
647<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
648<TR>
649<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
650<A NAME="navbar_bottom_firstrow"><!-- --></A>
651<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
652  <TR ALIGN="center" VALIGN="top">
653  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
654  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
655  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
656  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/DeserializerCache.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
657  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
658  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
659  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
660  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
661  </TR>
662</TABLE>
663</TD>
664<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
665</EM>
666</TD>
667</TR>
668
669<TR>
670<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
671&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html" title="class in com.fasterxml.jackson.databind.deser"><B>PREV CLASS</B></A>&nbsp;
672&nbsp;<A HREF="../../../../../com/fasterxml/jackson/databind/deser/DeserializerFactory.html" title="class in com.fasterxml.jackson.databind.deser"><B>NEXT CLASS</B></A></FONT></TD>
673<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
674  <A HREF="../../../../../index.html?com/fasterxml/jackson/databind/deser/DeserializerCache.html" target="_top"><B>FRAMES</B></A>  &nbsp;
675&nbsp;<A HREF="DeserializerCache.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
676&nbsp;<SCRIPT type="text/javascript">
677  <!--
678  if(window==top) {
679    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
680  }
681  //-->
682</SCRIPT>
683<NOSCRIPT>
684  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
685</NOSCRIPT>
686
687
688</FONT></TD>
689</TR>
690<TR>
691<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
692  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
693<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
694DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
695</TR>
696</TABLE>
697<A NAME="skip-navbar_bottom"></A>
698<!-- ======== END OF BOTTOM NAVBAR ======= -->
699
700<HR>
701Copyright &#169; 2012 <a href="http://fasterxml.com/">FasterXML</a>. All Rights Reserved.
702</BODY>
703</HTML>
704