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_10-ea) on Sun Jul 14 20:03:26 PDT 2013 --> 6<title>JsonDeserializer (Jackson JSON Processor)</title> 7<meta name="date" content="2013-07-14"> 8<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> 9</head> 10<body> 11<script type="text/javascript"><!-- 12 if (location.href.indexOf('is-external=true') == -1) { 13 parent.document.title="JsonDeserializer (Jackson JSON Processor)"; 14 } 15//--> 16</script> 17<noscript> 18<div>JavaScript is disabled on your browser.</div> 19</noscript> 20<!-- ========= START OF TOP NAVBAR ======= --> 21<div class="topNav"><a name="navbar_top"> 22<!-- --> 23</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow"> 24<!-- --> 25</a> 26<ul class="navList" title="Navigation"> 27<li><a href="../../../../overview-summary.html">Overview</a></li> 28<li><a href="package-summary.html">Package</a></li> 29<li class="navBarCell1Rev">Class</li> 30<li><a href="class-use/JsonDeserializer.html">Use</a></li> 31<li><a href="package-tree.html">Tree</a></li> 32<li><a href="../../../../deprecated-list.html">Deprecated</a></li> 33<li><a href="../../../../index-all.html">Index</a></li> 34<li><a href="../../../../help-doc.html">Help</a></li> 35</ul> 36</div> 37<div class="subNav"> 38<ul class="navList"> 39<li><a href="../../../../org/codehaus/jackson/map/InjectableValues.Std.html" title="class in org.codehaus.jackson.map"><span class="strong">Prev Class</span></a></li> 40<li><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.None.html" title="class in org.codehaus.jackson.map"><span class="strong">Next Class</span></a></li> 41</ul> 42<ul class="navList"> 43<li><a href="../../../../index.html?org/codehaus/jackson/map/JsonDeserializer.html" target="_top">Frames</a></li> 44<li><a href="JsonDeserializer.html" target="_top">No Frames</a></li> 45</ul> 46<ul class="navList" id="allclasses_navbar_top"> 47<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> 48</ul> 49<div> 50<script type="text/javascript"><!-- 51 allClassesLink = document.getElementById("allclasses_navbar_top"); 52 if(window==top) { 53 allClassesLink.style.display = "block"; 54 } 55 else { 56 allClassesLink.style.display = "none"; 57 } 58 //--> 59</script> 60</div> 61<div> 62<ul class="subNavList"> 63<li>Summary: </li> 64<li><a href="#nested_class_summary">Nested</a> | </li> 65<li>Field | </li> 66<li><a href="#constructor_summary">Constr</a> | </li> 67<li><a href="#method_summary">Method</a></li> 68</ul> 69<ul class="subNavList"> 70<li>Detail: </li> 71<li>Field | </li> 72<li><a href="#constructor_detail">Constr</a> | </li> 73<li><a href="#method_detail">Method</a></li> 74</ul> 75</div> 76<a name="skip-navbar_top"> 77<!-- --> 78</a></div> 79<!-- ========= END OF TOP NAVBAR ========= --> 80<!-- ======== START OF CLASS DATA ======== --> 81<div class="header"> 82<div class="subTitle">org.codehaus.jackson.map</div> 83<h2 title="Class JsonDeserializer" class="title">Class JsonDeserializer<T></h2> 84</div> 85<div class="contentContainer"> 86<ul class="inheritance"> 87<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> 88<li> 89<ul class="inheritance"> 90<li>org.codehaus.jackson.map.JsonDeserializer<T></li> 91</ul> 92</li> 93</ul> 94<div class="description"> 95<ul class="blockList"> 96<li class="blockList"> 97<dl> 98<dt>Direct Known Subclasses:</dt> 99<dd><a href="../../../../org/codehaus/jackson/map/deser/AbstractDeserializer.html" title="class in org.codehaus.jackson.map.deser">AbstractDeserializer</a>, <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.None.html" title="class in org.codehaus.jackson.map">JsonDeserializer.None</a>, <a href="../../../../org/codehaus/jackson/map/deser/std/StdDeserializer.html" title="class in org.codehaus.jackson.map.deser.std">StdDeserializer</a>, <a href="../../../../org/codehaus/jackson/map/deser/StdDeserializerProvider.WrappedDeserializer.html" title="class in org.codehaus.jackson.map.deser">StdDeserializerProvider.WrappedDeserializer</a></dd> 100</dl> 101<hr> 102<br> 103<pre>public abstract class <span class="strong">JsonDeserializer<T></span> 104extends <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> 105<div class="block">Abstract class that defines API used by <a href="../../../../org/codehaus/jackson/map/ObjectMapper.html" title="class in org.codehaus.jackson.map"><code>ObjectMapper</code></a> (and 106 other chained <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="class in org.codehaus.jackson.map"><code>JsonDeserializer</code></a>s too) to deserialize Objects of 107 arbitrary types from JSON, using provided <a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson"><code>JsonParser</code></a>.</div> 108</li> 109</ul> 110</div> 111<div class="summary"> 112<ul class="blockList"> 113<li class="blockList"> 114<!-- ======== NESTED CLASS SUMMARY ======== --> 115<ul class="blockList"> 116<li class="blockList"><a name="nested_class_summary"> 117<!-- --> 118</a> 119<h3>Nested Class Summary</h3> 120<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation"> 121<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption> 122<tr> 123<th class="colFirst" scope="col">Modifier and Type</th> 124<th class="colLast" scope="col">Class and Description</th> 125</tr> 126<tr class="altColor"> 127<td class="colFirst"><code>static class </code></td> 128<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.None.html" title="class in org.codehaus.jackson.map">JsonDeserializer.None</a></strong></code> 129<div class="block">This marker class is only to be used with annotations, to 130 indicate that <b>no deserializer is configured</b>.</div> 131</td> 132</tr> 133</table> 134</li> 135</ul> 136<!-- ======== CONSTRUCTOR SUMMARY ======== --> 137<ul class="blockList"> 138<li class="blockList"><a name="constructor_summary"> 139<!-- --> 140</a> 141<h3>Constructor Summary</h3> 142<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation"> 143<caption><span>Constructors</span><span class="tabEnd"> </span></caption> 144<tr> 145<th class="colOne" scope="col">Constructor and Description</th> 146</tr> 147<tr class="altColor"> 148<td class="colOne"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#JsonDeserializer()">JsonDeserializer</a></strong>()</code> </td> 149</tr> 150</table> 151</li> 152</ul> 153<!-- ========== METHOD SUMMARY =========== --> 154<ul class="blockList"> 155<li class="blockList"><a name="method_summary"> 156<!-- --> 157</a> 158<h3>Method Summary</h3> 159<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation"> 160<caption><span>Methods</span><span class="tabEnd"> </span></caption> 161<tr> 162<th class="colFirst" scope="col">Modifier and Type</th> 163<th class="colLast" scope="col">Method and Description</th> 164</tr> 165<tr class="altColor"> 166<td class="colFirst"><code>abstract <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a></code></td> 167<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext)">deserialize</a></strong>(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 168 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt)</code> 169<div class="block">Method that can be called to ask implementation to deserialize 170 JSON content into the value type this serializer handles.</div> 171</td> 172</tr> 173<tr class="rowColor"> 174<td class="colFirst"><code><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a></code></td> 175<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext, T)">deserialize</a></strong>(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 176 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt, 177 <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> intoValue)</code> 178<div class="block">Alternate deserialization method (compared to the most commonly 179 used, <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext)"><code>deserialize(JsonParser, DeserializationContext)</code></a>), 180 which takes in initialized value instance, to be 181 configured and/or populated by deserializer.</div> 182</td> 183</tr> 184<tr class="altColor"> 185<td class="colFirst"><code><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></code></td> 186<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#deserializeWithType(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext, org.codehaus.jackson.map.TypeDeserializer)">deserializeWithType</a></strong>(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 187 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt, 188 <a href="../../../../org/codehaus/jackson/map/TypeDeserializer.html" title="class in org.codehaus.jackson.map">TypeDeserializer</a> typeDeserializer)</code> 189<div class="block">Deserialization called when type being deserialized is defined to 190 contain additional type identifier, to allow for correctly 191 instantiating correct subtype.</div> 192</td> 193</tr> 194<tr class="rowColor"> 195<td class="colFirst"><code><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a></code></td> 196<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#getEmptyValue()">getEmptyValue</a></strong>()</code> 197<div class="block">Method called to determine value to be used for "empty" values 198 (most commonly when deserializing from empty JSON Strings).</div> 199</td> 200</tr> 201<tr class="altColor"> 202<td class="colFirst"><code><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a></code></td> 203<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#getNullValue()">getNullValue</a></strong>()</code> 204<div class="block">Method that can be called to determine value to be used for 205 representing null values (values deserialized when JSON token 206 is <a href="../../../../org/codehaus/jackson/JsonToken.html#VALUE_NULL"><code>JsonToken.VALUE_NULL</code></a>).</div> 207</td> 208</tr> 209<tr class="rowColor"> 210<td class="colFirst"><code><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="class in org.codehaus.jackson.map">JsonDeserializer</a><<a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a>></code></td> 211<td class="colLast"><code><strong><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#unwrappingDeserializer()">unwrappingDeserializer</a></strong>()</code> 212<div class="block">Method that will return deserializer instance that is able 213 to handle "unwrapped" value instances 214 If no unwrapped instance can be constructed, will simply 215 return this object as-is.</div> 216</td> 217</tr> 218</table> 219<ul class="blockList"> 220<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object"> 221<!-- --> 222</a> 223<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> 224<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> 225</ul> 226</li> 227</ul> 228</li> 229</ul> 230</div> 231<div class="details"> 232<ul class="blockList"> 233<li class="blockList"> 234<!-- ========= CONSTRUCTOR DETAIL ======== --> 235<ul class="blockList"> 236<li class="blockList"><a name="constructor_detail"> 237<!-- --> 238</a> 239<h3>Constructor Detail</h3> 240<a name="JsonDeserializer()"> 241<!-- --> 242</a> 243<ul class="blockListLast"> 244<li class="blockList"> 245<h4>JsonDeserializer</h4> 246<pre>public JsonDeserializer()</pre> 247</li> 248</ul> 249</li> 250</ul> 251<!-- ============ METHOD DETAIL ========== --> 252<ul class="blockList"> 253<li class="blockList"><a name="method_detail"> 254<!-- --> 255</a> 256<h3>Method Detail</h3> 257<a name="deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext)"> 258<!-- --> 259</a> 260<ul class="blockList"> 261<li class="blockList"> 262<h4>deserialize</h4> 263<pre>public abstract <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> deserialize(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 264 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt) 265 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>, 266 <a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></pre> 267<div class="block">Method that can be called to ask implementation to deserialize 268 JSON content into the value type this serializer handles. 269 Returned instance is to be constructed by method itself. 270<p> 271 Pre-condition for this method is that the parser points to the 272 first event that is part of value to deserializer (and which 273 is never JSON 'null' literal, more on this below): for simple 274 types it may be the only value; and for structured types the 275 Object start marker. 276 Post-condition is that the parser will point to the last 277 event that is part of deserialized value (or in case deserialization 278 fails, event that was not recognized or usable, which may be 279 the same event as the one it pointed to upon call). 280<p> 281 Note that this method is never called for JSON null literal, 282 and thus deserializers need (and should) not check for it.</div> 283<dl><dt><span class="strong">Parameters:</span></dt><dd><code>jp</code> - Parsed used for reading JSON content</dd><dd><code>ctxt</code> - Context that can be used to access information about 284 this deserialization activity.</dd> 285<dt><span class="strong">Returns:</span></dt><dd>Deserializer value</dd> 286<dt><span class="strong">Throws:</span></dt> 287<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> 288<dd><code><a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></code></dd></dl> 289</li> 290</ul> 291<a name="deserialize(org.codehaus.jackson.JsonParser,org.codehaus.jackson.map.DeserializationContext,java.lang.Object)"> 292<!-- --> 293</a><a name="deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext, T)"> 294<!-- --> 295</a> 296<ul class="blockList"> 297<li class="blockList"> 298<h4>deserialize</h4> 299<pre>public <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> deserialize(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 300 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt, 301 <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> intoValue) 302 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>, 303 <a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></pre> 304<div class="block">Alternate deserialization method (compared to the most commonly 305 used, <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#deserialize(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext)"><code>deserialize(JsonParser, DeserializationContext)</code></a>), 306 which takes in initialized value instance, to be 307 configured and/or populated by deserializer. 308 Method is not necessarily used for all supported types; most commonly 309 it is used 310 for Collections and Maps. 311<p> 312 Default implementation just throws 313 <a href="http://docs.oracle.com/javase/6/docs/api/java/lang/UnsupportedOperationException.html?is-external=true" title="class or interface in java.lang"><code>UnsupportedOperationException</code></a>, to indicate that types 314 that do not explicitly add support do not expect to get the call.</div> 315<dl><dt><span class="strong">Throws:</span></dt> 316<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> 317<dd><code><a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></code></dd></dl> 318</li> 319</ul> 320<a name="deserializeWithType(org.codehaus.jackson.JsonParser, org.codehaus.jackson.map.DeserializationContext, org.codehaus.jackson.map.TypeDeserializer)"> 321<!-- --> 322</a> 323<ul class="blockList"> 324<li class="blockList"> 325<h4>deserializeWithType</h4> 326<pre>public <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> deserializeWithType(<a href="../../../../org/codehaus/jackson/JsonParser.html" title="class in org.codehaus.jackson">JsonParser</a> jp, 327 <a href="../../../../org/codehaus/jackson/map/DeserializationContext.html" title="class in org.codehaus.jackson.map">DeserializationContext</a> ctxt, 328 <a href="../../../../org/codehaus/jackson/map/TypeDeserializer.html" title="class in org.codehaus.jackson.map">TypeDeserializer</a> typeDeserializer) 329 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>, 330 <a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></pre> 331<div class="block">Deserialization called when type being deserialized is defined to 332 contain additional type identifier, to allow for correctly 333 instantiating correct subtype. This can be due to annotation on 334 type (or its supertype), or due to global settings without 335 annotations. 336<p> 337 Default implementation may work for some types, but ideally subclasses 338 should not rely on current default implementation. 339 Implementation is mostly provided to avoid compilation errors with older 340 code.</div> 341<dl><dt><span class="strong">Parameters:</span></dt><dd><code>typeDeserializer</code> - Deserializer to use for handling type information</dd> 342<dt><span class="strong">Throws:</span></dt> 343<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> 344<dd><code><a href="../../../../org/codehaus/jackson/JsonProcessingException.html" title="class in org.codehaus.jackson">JsonProcessingException</a></code></dd><dt><span class="strong">Since:</span></dt> 345 <dd>1.5</dd></dl> 346</li> 347</ul> 348<a name="unwrappingDeserializer()"> 349<!-- --> 350</a> 351<ul class="blockList"> 352<li class="blockList"> 353<h4>unwrappingDeserializer</h4> 354<pre>public <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="class in org.codehaus.jackson.map">JsonDeserializer</a><<a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a>> unwrappingDeserializer()</pre> 355<div class="block">Method that will return deserializer instance that is able 356 to handle "unwrapped" value instances 357 If no unwrapped instance can be constructed, will simply 358 return this object as-is. 359<p> 360 Default implementation just returns 'this' 361 indicating that no unwrapped variant exists</div> 362<dl><dt><span class="strong">Since:</span></dt> 363 <dd>1.9</dd></dl> 364</li> 365</ul> 366<a name="getNullValue()"> 367<!-- --> 368</a> 369<ul class="blockList"> 370<li class="blockList"> 371<h4>getNullValue</h4> 372<pre>public <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> getNullValue()</pre> 373<div class="block">Method that can be called to determine value to be used for 374 representing null values (values deserialized when JSON token 375 is <a href="../../../../org/codehaus/jackson/JsonToken.html#VALUE_NULL"><code>JsonToken.VALUE_NULL</code></a>). Usually this is simply 376 Java null, but for some types (especially primitives) it may be 377 necessary to use non-null values. 378<p> 379 Note that deserializers are allowed to call this just once and 380 then reuse returned value; that is, method is not guaranteed to 381 be called once for each conversion. 382<p> 383 Default implementation simply returns null.</div> 384</li> 385</ul> 386<a name="getEmptyValue()"> 387<!-- --> 388</a> 389<ul class="blockListLast"> 390<li class="blockList"> 391<h4>getEmptyValue</h4> 392<pre>public <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html" title="type parameter in JsonDeserializer">T</a> getEmptyValue()</pre> 393<div class="block">Method called to determine value to be used for "empty" values 394 (most commonly when deserializing from empty JSON Strings). 395 Usually this is same as <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#getNullValue()"><code>getNullValue()</code></a> (which in turn 396 is usually simply Java null), but it can be overridden 397 for types. Or, if type should never be converted from empty 398 String, method can also throw an exception. 399<p> 400 Default implementation simple calls <a href="../../../../org/codehaus/jackson/map/JsonDeserializer.html#getNullValue()"><code>getNullValue()</code></a> and 401 returns value.</div> 402<dl><dt><span class="strong">Since:</span></dt> 403 <dd>1.9</dd></dl> 404</li> 405</ul> 406</li> 407</ul> 408</li> 409</ul> 410</div> 411</div> 412<!-- ========= END OF CLASS DATA ========= --> 413<!-- ======= START OF BOTTOM NAVBAR ====== --> 414<div class="bottomNav"><a name="navbar_bottom"> 415<!-- --> 416</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow"> 417<!-- --> 418</a> 419<ul class="navList" title="Navigation"> 420<li><a href="../../../../overview-summary.html">Overview</a></li> 421<li><a href="package-summary.html">Package</a></li> 422<li class="navBarCell1Rev">Class</li> 423<li><a href="class-use/JsonDeserializer.html">Use</a></li> 424<li><a href="package-tree.html">Tree</a></li> 425<li><a href="../../../../deprecated-list.html">Deprecated</a></li> 426<li><a href="../../../../index-all.html">Index</a></li> 427<li><a href="../../../../help-doc.html">Help</a></li> 428</ul> 429</div> 430<div class="subNav"> 431<ul class="navList"> 432<li><a href="../../../../org/codehaus/jackson/map/InjectableValues.Std.html" title="class in org.codehaus.jackson.map"><span class="strong">Prev Class</span></a></li> 433<li><a href="../../../../org/codehaus/jackson/map/JsonDeserializer.None.html" title="class in org.codehaus.jackson.map"><span class="strong">Next Class</span></a></li> 434</ul> 435<ul class="navList"> 436<li><a href="../../../../index.html?org/codehaus/jackson/map/JsonDeserializer.html" target="_top">Frames</a></li> 437<li><a href="JsonDeserializer.html" target="_top">No Frames</a></li> 438</ul> 439<ul class="navList" id="allclasses_navbar_bottom"> 440<li><a href="../../../../allclasses-noframe.html">All Classes</a></li> 441</ul> 442<div> 443<script type="text/javascript"><!-- 444 allClassesLink = document.getElementById("allclasses_navbar_bottom"); 445 if(window==top) { 446 allClassesLink.style.display = "block"; 447 } 448 else { 449 allClassesLink.style.display = "none"; 450 } 451 //--> 452</script> 453</div> 454<div> 455<ul class="subNavList"> 456<li>Summary: </li> 457<li><a href="#nested_class_summary">Nested</a> | </li> 458<li>Field | </li> 459<li><a href="#constructor_summary">Constr</a> | </li> 460<li><a href="#method_summary">Method</a></li> 461</ul> 462<ul class="subNavList"> 463<li>Detail: </li> 464<li>Field | </li> 465<li><a href="#constructor_detail">Constr</a> | </li> 466<li><a href="#method_detail">Method</a></li> 467</ul> 468</div> 469<a name="skip-navbar_bottom"> 470<!-- --> 471</a></div> 472<!-- ======== END OF BOTTOM NAVBAR ======= --> 473</body> 474</html> 475