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> 8ResolvableDeserializer (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="ResolvableDeserializer (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> </TD> 42 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 43 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 44 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResolvableDeserializer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 45 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 46 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 47 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 48 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </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 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/KeyDeserializers.html" title="interface in com.fasterxml.jackson.databind.deser"><B>PREV CLASS</B></A> 60 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/SettableAnyProperty.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/ResolvableDeserializer.html" target="_top"><B>FRAMES</B></A> 63 <A HREF="ResolvableDeserializer.html" target="_top"><B>NO FRAMES</B></A> 64 <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: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 81<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 82DETAIL: FIELD | CONSTR | <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> 94Interface ResolvableDeserializer</H2> 95<DL> 96<DT><B>All Known Implementing Classes:</B> <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/ThrowableDeserializer.html" title="class in com.fasterxml.jackson.databind.deser.std">ThrowableDeserializer</A></DD> 97</DL> 98<HR> 99<DL> 100<DT><PRE>public interface <B>ResolvableDeserializer</B></DL> 101</PRE> 102 103<P> 104Interface used to indicate deserializers that want to do post-processing 105 after construction but before being returned to caller (and possibly cached) 106 and used. 107 This is typically used to resolve references 108 to other contained types; for example, bean deserializers use this callback 109 to locate deserializers for contained field types. 110 Main reason for using a callback (instead of trying to resolve dependencies 111 immediately) is to make it possible to cleanly handle self-references; 112 otherwise it would be easy to get into infinite recursion. 113<p> 114 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 115 (specifically, a new deserializer instance): reason for this is that 116 allowing this would not work with proper handling of cyclic dependencies, 117 which are resolved by two-phase processing, where initially constructed 118 deserializer is added as known deserializer, and only after this 119 resolution is done. Resolution is the part that results in lookups for 120 dependant deserializers, which may include handling references to 121 deserializer itself. 122<p> 123 Note that in cases where deserializer needs both contextualization and 124 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> 125 -- resolution via this interface occurs first, and contextual 126 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. 127<P> 128 129<P> 130<HR> 131 132<P> 133 134<!-- ========== METHOD SUMMARY =========== --> 135 136<A NAME="method_summary"><!-- --></A> 137<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 138<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 139<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2"> 140<B>Method Summary</B></FONT></TH> 141</TR> 142<TR BGCOLOR="white" CLASS="TableRowColor"> 143<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"> 144<CODE> void</CODE></FONT></TD> 145<TD><CODE><B><A HREF="../../../../../com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html#resolve(com.fasterxml.jackson.databind.DeserializationContext)">resolve</A></B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A> ctxt)</CODE> 146 147<BR> 148 Method called after deserializer instance has been constructed 149 (and registered as necessary by provider objects), 150 but before it has returned it to the caller.</TD> 151</TR> 152</TABLE> 153 154<P> 155 156<!-- ============ METHOD DETAIL ========== --> 157 158<A NAME="method_detail"><!-- --></A> 159<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""> 160<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"> 161<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2"> 162<B>Method Detail</B></FONT></TH> 163</TR> 164</TABLE> 165 166<A NAME="resolve(com.fasterxml.jackson.databind.DeserializationContext)"><!-- --></A><H3> 167resolve</H3> 168<PRE> 169void <B>resolve</B>(<A HREF="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</A> ctxt) 170 throws <A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></PRE> 171<DL> 172<DD>Method called after deserializer instance has been constructed 173 (and registered as necessary by provider objects), 174 but before it has returned it to the caller. 175 Called object can then resolve its dependencies to other types, 176 including self-references (direct or indirect). 177<P> 178<DD><DL> 179<DT><B>Parameters:</B><DD><CODE>ctxt</CODE> - Context to use for accessing configuration, resolving 180 secondary deserializers 181<DT><B>Throws:</B> 182<DD><CODE><A HREF="../../../../../com/fasterxml/jackson/databind/JsonMappingException.html" title="class in com.fasterxml.jackson.databind">JsonMappingException</A></CODE></DL> 183</DD> 184</DL> 185<!-- ========= END OF CLASS DATA ========= --> 186<HR> 187 188 189<!-- ======= START OF BOTTOM NAVBAR ====== --> 190<A NAME="navbar_bottom"><!-- --></A> 191<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A> 192<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""> 193<TR> 194<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> 195<A NAME="navbar_bottom_firstrow"><!-- --></A> 196<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> 197 <TR ALIGN="center" VALIGN="top"> 198 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> 199 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> 200 <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD> 201 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/ResolvableDeserializer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A> </TD> 202 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> 203 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> 204 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> 205 <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> 206 </TR> 207</TABLE> 208</TD> 209<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM> 210</EM> 211</TD> 212</TR> 213 214<TR> 215<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 216 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/KeyDeserializers.html" title="interface in com.fasterxml.jackson.databind.deser"><B>PREV CLASS</B></A> 217 <A HREF="../../../../../com/fasterxml/jackson/databind/deser/SettableAnyProperty.html" title="class in com.fasterxml.jackson.databind.deser"><B>NEXT CLASS</B></A></FONT></TD> 218<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> 219 <A HREF="../../../../../index.html?com/fasterxml/jackson/databind/deser/ResolvableDeserializer.html" target="_top"><B>FRAMES</B></A> 220 <A HREF="ResolvableDeserializer.html" target="_top"><B>NO FRAMES</B></A> 221 <SCRIPT type="text/javascript"> 222 <!-- 223 if(window==top) { 224 document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>'); 225 } 226 //--> 227</SCRIPT> 228<NOSCRIPT> 229 <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A> 230</NOSCRIPT> 231 232 233</FONT></TD> 234</TR> 235<TR> 236<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 237 SUMMARY: NESTED | FIELD | CONSTR | <A HREF="#method_summary">METHOD</A></FONT></TD> 238<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> 239DETAIL: FIELD | CONSTR | <A HREF="#method_detail">METHOD</A></FONT></TD> 240</TR> 241</TABLE> 242<A NAME="skip-navbar_bottom"></A> 243<!-- ======== END OF BOTTOM NAVBAR ======= --> 244 245<HR> 246Copyright © 2012 <a href="http://fasterxml.com/">FasterXML</a>. All Rights Reserved. 247</BODY> 248</HTML> 249