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 (1.8.0) on Sun Jul 19 11:36:51 PDT 2015 --> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7<title>DeserializationProblemHandler (jackson-databind 2.6.0 API)</title> 8<meta name="date" content="2015-07-19"> 9<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style"> 10<script type="text/javascript" src="../../../../../script.js"></script> 11</head> 12<body> 13<script type="text/javascript"><!-- 14 try { 15 if (location.href.indexOf('is-external=true') == -1) { 16 parent.document.title="DeserializationProblemHandler (jackson-databind 2.6.0 API)"; 17 } 18 } 19 catch(err) { 20 } 21//--> 22var methods = {"i0":10}; 23var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]}; 24var altColor = "altColor"; 25var rowColor = "rowColor"; 26var tableTab = "tableTab"; 27var activeTableTab = "activeTableTab"; 28</script> 29<noscript> 30<div>JavaScript is disabled on your browser.</div> 31</noscript> 32<!-- ========= START OF TOP NAVBAR ======= --> 33<div class="topNav"><a name="navbar.top"> 34<!-- --> 35</a> 36<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> 37<a name="navbar.top.firstrow"> 38<!-- --> 39</a> 40<ul class="navList" title="Navigation"> 41<li><a href="../../../../../overview-summary.html">Overview</a></li> 42<li><a href="package-summary.html">Package</a></li> 43<li class="navBarCell1Rev">Class</li> 44<li><a href="class-use/DeserializationProblemHandler.html">Use</a></li> 45<li><a href="package-tree.html">Tree</a></li> 46<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> 47<li><a href="../../../../../index-all.html">Index</a></li> 48<li><a href="../../../../../help-doc.html">Help</a></li> 49</ul> 50</div> 51<div class="subNav"> 52<ul class="navList"> 53<li><a href="../../../../../com/fasterxml/jackson/databind/deser/DefaultDeserializationContext.Impl.html" title="class in com.fasterxml.jackson.databind.deser"><span class="typeNameLink">Prev Class</span></a></li> 54<li><a href="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html" title="class in com.fasterxml.jackson.databind.deser"><span class="typeNameLink">Next Class</span></a></li> 55</ul> 56<ul class="navList"> 57<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html" target="_top">Frames</a></li> 58<li><a href="DeserializationProblemHandler.html" target="_top">No Frames</a></li> 59</ul> 60<ul class="navList" id="allclasses_navbar_top"> 61<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> 62</ul> 63<div> 64<script type="text/javascript"><!-- 65 allClassesLink = document.getElementById("allclasses_navbar_top"); 66 if(window==top) { 67 allClassesLink.style.display = "block"; 68 } 69 else { 70 allClassesLink.style.display = "none"; 71 } 72 //--> 73</script> 74</div> 75<div> 76<ul class="subNavList"> 77<li>Summary: </li> 78<li>Nested | </li> 79<li>Field | </li> 80<li><a href="#constructor.summary">Constr</a> | </li> 81<li><a href="#method.summary">Method</a></li> 82</ul> 83<ul class="subNavList"> 84<li>Detail: </li> 85<li>Field | </li> 86<li><a href="#constructor.detail">Constr</a> | </li> 87<li><a href="#method.detail">Method</a></li> 88</ul> 89</div> 90<a name="skip.navbar.top"> 91<!-- --> 92</a></div> 93<!-- ========= END OF TOP NAVBAR ========= --> 94<!-- ======== START OF CLASS DATA ======== --> 95<div class="header"> 96<div class="subTitle">com.fasterxml.jackson.databind.deser</div> 97<h2 title="Class DeserializationProblemHandler" class="title">Class DeserializationProblemHandler</h2> 98</div> 99<div class="contentContainer"> 100<ul class="inheritance"> 101<li><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></li> 102<li> 103<ul class="inheritance"> 104<li>com.fasterxml.jackson.databind.deser.DeserializationProblemHandler</li> 105</ul> 106</li> 107</ul> 108<div class="description"> 109<ul class="blockList"> 110<li class="blockList"> 111<hr> 112<br> 113<pre>public abstract class <span class="typeNameLabel">DeserializationProblemHandler</span> 114extends <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></pre> 115<div class="block">This is the class that can be registered (via 116 <a href="../../../../../com/fasterxml/jackson/databind/DeserializationConfig.html" title="class in com.fasterxml.jackson.databind"><code>DeserializationConfig</code></a> object owner by 117 <a href="../../../../../com/fasterxml/jackson/databind/ObjectMapper.html" title="class in com.fasterxml.jackson.databind"><code>ObjectMapper</code></a>) to get calledn when a potentially 118 recoverable problem is encountered during deserialization 119 process. Handlers can try to resolve the problem, throw 120 an exception or do nothing. 121<p> 122 Default implementations for all methods implemented minimal 123 "do nothing" functionality, which is roughly equivalent to 124 not having a registered listener at all. This allows for 125 only implemented handler methods one is interested in, without 126 handling other cases.</div> 127</li> 128</ul> 129</div> 130<div class="summary"> 131<ul class="blockList"> 132<li class="blockList"> 133<!-- ======== CONSTRUCTOR SUMMARY ======== --> 134<ul class="blockList"> 135<li class="blockList"><a name="constructor.summary"> 136<!-- --> 137</a> 138<h3>Constructor Summary</h3> 139<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> 140<caption><span>Constructors</span><span class="tabEnd"> </span></caption> 141<tr> 142<th class="colOne" scope="col">Constructor and Description</th> 143</tr> 144<tr class="altColor"> 145<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html#DeserializationProblemHandler--">DeserializationProblemHandler</a></span>()</code> </td> 146</tr> 147</table> 148</li> 149</ul> 150<!-- ========== METHOD SUMMARY =========== --> 151<ul class="blockList"> 152<li class="blockList"><a name="method.summary"> 153<!-- --> 154</a> 155<h3>Method Summary</h3> 156<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> 157<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption> 158<tr> 159<th class="colFirst" scope="col">Modifier and Type</th> 160<th class="colLast" scope="col">Method and Description</th> 161</tr> 162<tr id="i0" class="altColor"> 163<td class="colFirst"><code>boolean</code></td> 164<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html#handleUnknownProperty-com.fasterxml.jackson.databind.DeserializationContext-com.fasterxml.jackson.core.JsonParser-com.fasterxml.jackson.databind.JsonDeserializer-java.lang.Object-java.lang.String-">handleUnknownProperty</a></span>(<a href="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</a> ctxt, 165 com.fasterxml.jackson.core.JsonParser jp, 166 <a href="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</a><?> deserializer, 167 <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> beanOrClass, 168 <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> propertyName)</code> 169<div class="block">Method called when a JSON Map ("Object") entry with an unrecognized 170 name is encountered.</div> 171</td> 172</tr> 173</table> 174<ul class="blockList"> 175<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object"> 176<!-- --> 177</a> 178<h3>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></h3> 179<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></li> 180</ul> 181</li> 182</ul> 183</li> 184</ul> 185</div> 186<div class="details"> 187<ul class="blockList"> 188<li class="blockList"> 189<!-- ========= CONSTRUCTOR DETAIL ======== --> 190<ul class="blockList"> 191<li class="blockList"><a name="constructor.detail"> 192<!-- --> 193</a> 194<h3>Constructor Detail</h3> 195<a name="DeserializationProblemHandler--"> 196<!-- --> 197</a> 198<ul class="blockListLast"> 199<li class="blockList"> 200<h4>DeserializationProblemHandler</h4> 201<pre>public DeserializationProblemHandler()</pre> 202</li> 203</ul> 204</li> 205</ul> 206<!-- ============ METHOD DETAIL ========== --> 207<ul class="blockList"> 208<li class="blockList"><a name="method.detail"> 209<!-- --> 210</a> 211<h3>Method Detail</h3> 212<a name="handleUnknownProperty-com.fasterxml.jackson.databind.DeserializationContext-com.fasterxml.jackson.core.JsonParser-com.fasterxml.jackson.databind.JsonDeserializer-java.lang.Object-java.lang.String-"> 213<!-- --> 214</a> 215<ul class="blockListLast"> 216<li class="blockList"> 217<h4>handleUnknownProperty</h4> 218<pre>public boolean handleUnknownProperty(<a href="../../../../../com/fasterxml/jackson/databind/DeserializationContext.html" title="class in com.fasterxml.jackson.databind">DeserializationContext</a> ctxt, 219 com.fasterxml.jackson.core.JsonParser jp, 220 <a href="../../../../../com/fasterxml/jackson/databind/JsonDeserializer.html" title="class in com.fasterxml.jackson.databind">JsonDeserializer</a><?> deserializer, 221 <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> beanOrClass, 222 <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> propertyName) 223 throws <a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a>, 224 com.fasterxml.jackson.core.JsonProcessingException</pre> 225<div class="block">Method called when a JSON Map ("Object") entry with an unrecognized 226 name is encountered. 227 Content (supposedly) matching the property are accessible via 228 parser that can be obtained from passed deserialization context. 229 Handler can also choose to skip the content; if so, it MUST return 230 true to indicate it did handle property successfully. 231 Skipping is usually done like so: 232<pre> 233 jp.skipChildren(); 234</pre> 235<p> 236 Note: version 1.2 added new deserialization feature 237 (<code>DeserializationConfig.DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES</code>). 238 It will only have effect <b>after</b> handler is called, and only 239 if handler did <b>not</b> handle the problem.</div> 240<dl> 241<dt><span class="paramLabel">Parameters:</span></dt> 242<dd><code>beanOrClass</code> - Either bean instance being deserialized (if one 243 has been instantiated so far); or Class that indicates type that 244 will be instantiated (if no instantiation done yet: for example 245 when bean uses non-default constructors)</dd> 246<dd><code>jp</code> - Parser to use for handling problematic content</dd> 247<dt><span class="returnLabel">Returns:</span></dt> 248<dd>True if the problem is resolved (and content available used or skipped); 249 false if the handler did not anything and the problem is unresolved. Note that in 250 latter case caller will either throw an exception or explicitly skip the content, 251 depending on configuration.</dd> 252<dt><span class="throwsLabel">Throws:</span></dt> 253<dd><code><a href="http://docs.oracle.com/javase/6/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd> 254<dd><code>com.fasterxml.jackson.core.JsonProcessingException</code></dd> 255</dl> 256</li> 257</ul> 258</li> 259</ul> 260</li> 261</ul> 262</div> 263</div> 264<!-- ========= END OF CLASS DATA ========= --> 265<!-- ======= START OF BOTTOM NAVBAR ====== --> 266<div class="bottomNav"><a name="navbar.bottom"> 267<!-- --> 268</a> 269<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> 270<a name="navbar.bottom.firstrow"> 271<!-- --> 272</a> 273<ul class="navList" title="Navigation"> 274<li><a href="../../../../../overview-summary.html">Overview</a></li> 275<li><a href="package-summary.html">Package</a></li> 276<li class="navBarCell1Rev">Class</li> 277<li><a href="class-use/DeserializationProblemHandler.html">Use</a></li> 278<li><a href="package-tree.html">Tree</a></li> 279<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> 280<li><a href="../../../../../index-all.html">Index</a></li> 281<li><a href="../../../../../help-doc.html">Help</a></li> 282</ul> 283</div> 284<div class="subNav"> 285<ul class="navList"> 286<li><a href="../../../../../com/fasterxml/jackson/databind/deser/DefaultDeserializationContext.Impl.html" title="class in com.fasterxml.jackson.databind.deser"><span class="typeNameLink">Prev Class</span></a></li> 287<li><a href="../../../../../com/fasterxml/jackson/databind/deser/DeserializerCache.html" title="class in com.fasterxml.jackson.databind.deser"><span class="typeNameLink">Next Class</span></a></li> 288</ul> 289<ul class="navList"> 290<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/deser/DeserializationProblemHandler.html" target="_top">Frames</a></li> 291<li><a href="DeserializationProblemHandler.html" target="_top">No Frames</a></li> 292</ul> 293<ul class="navList" id="allclasses_navbar_bottom"> 294<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> 295</ul> 296<div> 297<script type="text/javascript"><!-- 298 allClassesLink = document.getElementById("allclasses_navbar_bottom"); 299 if(window==top) { 300 allClassesLink.style.display = "block"; 301 } 302 else { 303 allClassesLink.style.display = "none"; 304 } 305 //--> 306</script> 307</div> 308<div> 309<ul class="subNavList"> 310<li>Summary: </li> 311<li>Nested | </li> 312<li>Field | </li> 313<li><a href="#constructor.summary">Constr</a> | </li> 314<li><a href="#method.summary">Method</a></li> 315</ul> 316<ul class="subNavList"> 317<li>Detail: </li> 318<li>Field | </li> 319<li><a href="#constructor.detail">Constr</a> | </li> 320<li><a href="#method.detail">Method</a></li> 321</ul> 322</div> 323<a name="skip.navbar.bottom"> 324<!-- --> 325</a></div> 326<!-- ======== END OF BOTTOM NAVBAR ======= --> 327<p class="legalCopy"><small>Copyright © 2014–2015 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p> 328</body> 329</html> 330