• 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 lang="en">
4<head>
5<!-- Generated by javadoc (version 1.7.0_25) on Mon Jun 02 17:48:55 PDT 2014 -->
6<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
7<title>ResolvableDeserializer (jackson-databind 2.4.0 API)</title>
8<meta name="date" content="2014-06-02">
9<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
10</head>
11<body>
12<script type="text/javascript"><!--
13    if (location.href.indexOf('is-external=true') == -1) {
14        parent.document.title="ResolvableDeserializer (jackson-databind 2.4.0 API)";
15    }
16//-->
17</script>
18<noscript>
19<div>JavaScript is disabled on your browser.</div>
20</noscript>
21<!-- ========= START OF TOP NAVBAR ======= -->
22<div class="topNav"><a name="navbar_top">
23<!--   -->
24</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
25<!--   -->
26</a>
27<ul class="navList" title="Navigation">
28<li><a href="../../../../../overview-summary.html">Overview</a></li>
29<li><a href="package-summary.html">Package</a></li>
30<li class="navBarCell1Rev">Class</li>
31<li><a href="class-use/ResolvableDeserializer.html">Use</a></li>
32<li><a href="package-tree.html">Tree</a></li>
33<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
34<li><a href="../../../../../index-all.html">Index</a></li>
35<li><a href="../../../../../help-doc.html">Help</a></li>
36</ul>
37</div>
38<div class="subNav">
39<ul class="navList">
40<li><a href="../../../../../com/fasterxml/jackson/databind/deser/KeyDeserializers.html" title="interface in com.fasterxml.jackson.databind.deser"><span class="strong">Prev Class</span></a></li>
41<li><a href="../../../../../com/fasterxml/jackson/databind/deser/SettableAnyProperty.html" title="class in com.fasterxml.jackson.databind.deser"><span class="strong">Next Class</span></a></li>
42</ul>
43<ul class="navList">
44<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html" target="_top">Frames</a></li>
45<li><a href="ResolvableDeserializer.html" target="_top">No Frames</a></li>
46</ul>
47<ul class="navList" id="allclasses_navbar_top">
48<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
49</ul>
50<div>
51<script type="text/javascript"><!--
52  allClassesLink = document.getElementById("allclasses_navbar_top");
53  if(window==top) {
54    allClassesLink.style.display = "block";
55  }
56  else {
57    allClassesLink.style.display = "none";
58  }
59  //-->
60</script>
61</div>
62<div>
63<ul class="subNavList">
64<li>Summary:&nbsp;</li>
65<li>Nested&nbsp;|&nbsp;</li>
66<li>Field&nbsp;|&nbsp;</li>
67<li>Constr&nbsp;|&nbsp;</li>
68<li><a href="#method_summary">Method</a></li>
69</ul>
70<ul class="subNavList">
71<li>Detail:&nbsp;</li>
72<li>Field&nbsp;|&nbsp;</li>
73<li>Constr&nbsp;|&nbsp;</li>
74<li><a href="#method_detail">Method</a></li>
75</ul>
76</div>
77<a name="skip-navbar_top">
78<!--   -->
79</a></div>
80<!-- ========= END OF TOP NAVBAR ========= -->
81<!-- ======== START OF CLASS DATA ======== -->
82<div class="header">
83<div class="subTitle">com.fasterxml.jackson.databind.deser</div>
84<h2 title="Interface ResolvableDeserializer" class="title">Interface ResolvableDeserializer</h2>
85</div>
86<div class="contentContainer">
87<div class="description">
88<ul class="blockList">
89<li class="blockList">
90<dl>
91<dt>All Known Implementing Classes:</dt>
92<dd><a href="../../../../../com/fasterxml/jackson/databind/deser/impl/BeanAsArrayBuilderDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.impl">BeanAsArrayBuilderDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/impl/BeanAsArrayDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.impl">BeanAsArrayDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/BeanDeserializer.html" title="class in com.fasterxml.jackson.databind.deser">BeanDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/BeanDeserializerBase.html" title="class in com.fasterxml.jackson.databind.deser">BeanDeserializerBase</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/BuilderBasedDeserializer.html" title="class in com.fasterxml.jackson.databind.deser">BuilderBasedDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/std/DelegatingDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">DelegatingDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/std/MapDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">MapDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/std/StdDelegatingDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">StdDelegatingDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/std/ThrowableDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">ThrowableDeserializer</a>, <a href="../../../../../com/fasterxml/jackson/databind/deser/std/UntypedObjectDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">UntypedObjectDeserializer</a></dd>
93</dl>
94<hr>
95<br>
96<pre>public interface <span class="strong">ResolvableDeserializer</span></pre>
97<div class="block">Interface used to indicate deserializers that want to do post-processing
98 after construction but before being returned to caller (and possibly cached)
99 and used.
100 This is typically used to resolve references
101 to other contained types; for example, bean deserializers use this callback
102 to locate deserializers for contained field types.
103 Main reason for using a callback (instead of trying to resolve dependencies
104 immediately) is to make it possible to cleanly handle self-references;
105 otherwise it would be easy to get into infinite recursion.
106<p>
107 Note that <a href="../../../../../com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html#resolve(com.fasterxml.jackson.databind.DeserializationContext)"><code>resolve(com.fasterxml.jackson.databind.DeserializationContext)</code></a> method does NOT allow returning anything
108 (specifically, a new deserializer instance): reason for this is that
109 allowing this would not work with proper handling of cyclic dependencies,
110 which are resolved by two-phase processing, where initially constructed
111 deserializer is added as known deserializer, and only after this
112 resolution is done. Resolution is the part that results in lookups for
113 dependant deserializers, which may include handling references to
114 deserializer itself.
115<p>
116 Note that in cases where deserializer needs both contextualization and
117 resolution -- that is, implements both this interface and <a href="../../../../../com/fasterxml/jackson/databind/deser/ContextualDeserializer.html" title="interface in com.fasterxml.jackson.databind.deser"><code>ContextualDeserializer</code></a>
118 -- resolution via this interface occurs first, and contextual
119 resolution (using <a href="../../../../../com/fasterxml/jackson/databind/deser/ContextualDeserializer.html" title="interface in com.fasterxml.jackson.databind.deser"><code>ContextualDeserializer</code></a>) later on.</div>
120</li>
121</ul>
122</div>
123<div class="summary">
124<ul class="blockList">
125<li class="blockList">
126<!-- ========== METHOD SUMMARY =========== -->
127<ul class="blockList">
128<li class="blockList"><a name="method_summary">
129<!--   -->
130</a>
131<h3>Method Summary</h3>
132<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
133<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
134<tr>
135<th class="colFirst" scope="col">Modifier and Type</th>
136<th class="colLast" scope="col">Method and Description</th>
137</tr>
138<tr class="altColor">
139<td class="colFirst"><code>void</code></td>
140<td class="colLast"><code><strong><a href="../../../../../com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html#resolve(com.fasterxml.jackson.databind.DeserializationContext)">resolve</a></strong>(<a href="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</a>&nbsp;ctxt)</code>
141<div class="block">Method called after deserializer instance has been constructed
142 (and registered as necessary by provider objects),
143 but before it has returned it to the caller.</div>
144</td>
145</tr>
146</table>
147</li>
148</ul>
149</li>
150</ul>
151</div>
152<div class="details">
153<ul class="blockList">
154<li class="blockList">
155<!-- ============ METHOD DETAIL ========== -->
156<ul class="blockList">
157<li class="blockList"><a name="method_detail">
158<!--   -->
159</a>
160<h3>Method Detail</h3>
161<a name="resolve(com.fasterxml.jackson.databind.DeserializationContext)">
162<!--   -->
163</a>
164<ul class="blockListLast">
165<li class="blockList">
166<h4>resolve</h4>
167<pre>void&nbsp;resolve(<a href="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</a>&nbsp;ctxt)
168             throws <a href="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</a></pre>
169<div class="block">Method called after deserializer instance has been constructed
170 (and registered as necessary by provider objects),
171 but before it has returned it to the caller.
172 Called object can then resolve its dependencies to other types,
173 including self-references (direct or indirect).</div>
174<dl><dt><span class="strong">Parameters:</span></dt><dd><code>ctxt</code> - Context to use for accessing configuration, resolving
175    secondary deserializers</dd>
176<dt><span class="strong">Throws:</span></dt>
177<dd><code><a href="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</a></code></dd></dl>
178</li>
179</ul>
180</li>
181</ul>
182</li>
183</ul>
184</div>
185</div>
186<!-- ========= END OF CLASS DATA ========= -->
187<!-- ======= START OF BOTTOM NAVBAR ====== -->
188<div class="bottomNav"><a name="navbar_bottom">
189<!--   -->
190</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
191<!--   -->
192</a>
193<ul class="navList" title="Navigation">
194<li><a href="../../../../../overview-summary.html">Overview</a></li>
195<li><a href="package-summary.html">Package</a></li>
196<li class="navBarCell1Rev">Class</li>
197<li><a href="class-use/ResolvableDeserializer.html">Use</a></li>
198<li><a href="package-tree.html">Tree</a></li>
199<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
200<li><a href="../../../../../index-all.html">Index</a></li>
201<li><a href="../../../../../help-doc.html">Help</a></li>
202</ul>
203</div>
204<div class="subNav">
205<ul class="navList">
206<li><a href="../../../../../com/fasterxml/jackson/databind/deser/KeyDeserializers.html" title="interface in com.fasterxml.jackson.databind.deser"><span class="strong">Prev Class</span></a></li>
207<li><a href="../../../../../com/fasterxml/jackson/databind/deser/SettableAnyProperty.html" title="class in com.fasterxml.jackson.databind.deser"><span class="strong">Next Class</span></a></li>
208</ul>
209<ul class="navList">
210<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html" target="_top">Frames</a></li>
211<li><a href="ResolvableDeserializer.html" target="_top">No Frames</a></li>
212</ul>
213<ul class="navList" id="allclasses_navbar_bottom">
214<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li>
215</ul>
216<div>
217<script type="text/javascript"><!--
218  allClassesLink = document.getElementById("allclasses_navbar_bottom");
219  if(window==top) {
220    allClassesLink.style.display = "block";
221  }
222  else {
223    allClassesLink.style.display = "none";
224  }
225  //-->
226</script>
227</div>
228<div>
229<ul class="subNavList">
230<li>Summary:&nbsp;</li>
231<li>Nested&nbsp;|&nbsp;</li>
232<li>Field&nbsp;|&nbsp;</li>
233<li>Constr&nbsp;|&nbsp;</li>
234<li><a href="#method_summary">Method</a></li>
235</ul>
236<ul class="subNavList">
237<li>Detail:&nbsp;</li>
238<li>Field&nbsp;|&nbsp;</li>
239<li>Constr&nbsp;|&nbsp;</li>
240<li><a href="#method_detail">Method</a></li>
241</ul>
242</div>
243<a name="skip-navbar_bottom">
244<!--   -->
245</a></div>
246<!-- ======== END OF BOTTOM NAVBAR ======= -->
247<p class="legalCopy"><small>Copyright &#169; 2014 <a href="http://fasterxml.com/">FasterXML</a>. All Rights Reserved.</small></p>
248</body>
249</html>
250