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_162) on Sat Apr 25 17:14:51 PDT 2020 --> 6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7<title>JsonPOJOBuilder (jackson-databind 2.11.0 API)</title> 8<meta name="date" content="2020-04-25"> 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="JsonPOJOBuilder (jackson-databind 2.11.0 API)"; 17 } 18 } 19 catch(err) { 20 } 21//--> 22</script> 23<noscript> 24<div>JavaScript is disabled on your browser.</div> 25</noscript> 26<!-- ========= START OF TOP NAVBAR ======= --> 27<div class="topNav"><a name="navbar.top"> 28<!-- --> 29</a> 30<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div> 31<a name="navbar.top.firstrow"> 32<!-- --> 33</a> 34<ul class="navList" title="Navigation"> 35<li><a href="../../../../../overview-summary.html">Overview</a></li> 36<li><a href="package-summary.html">Package</a></li> 37<li class="navBarCell1Rev">Class</li> 38<li><a href="class-use/JsonPOJOBuilder.html">Use</a></li> 39<li><a href="package-tree.html">Tree</a></li> 40<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> 41<li><a href="../../../../../index-all.html">Index</a></li> 42<li><a href="../../../../../help-doc.html">Help</a></li> 43</ul> 44</div> 45<div class="subNav"> 46<ul class="navList"> 47<li><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonNaming.html" title="annotation in com.fasterxml.jackson.databind.annotation"><span class="typeNameLink">Prev Class</span></a></li> 48<li><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.Value.html" title="class in com.fasterxml.jackson.databind.annotation"><span class="typeNameLink">Next Class</span></a></li> 49</ul> 50<ul class="navList"> 51<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html" target="_top">Frames</a></li> 52<li><a href="JsonPOJOBuilder.html" target="_top">No Frames</a></li> 53</ul> 54<ul class="navList" id="allclasses_navbar_top"> 55<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> 56</ul> 57<div> 58<script type="text/javascript"><!-- 59 allClassesLink = document.getElementById("allclasses_navbar_top"); 60 if(window==top) { 61 allClassesLink.style.display = "block"; 62 } 63 else { 64 allClassesLink.style.display = "none"; 65 } 66 //--> 67</script> 68</div> 69<div> 70<ul class="subNavList"> 71<li>Summary: </li> 72<li><a href="#annotation.type.field.summary">Field</a> | </li> 73<li>Required | </li> 74<li><a href="#annotation.type.optional.element.summary">Optional</a></li> 75</ul> 76<ul class="subNavList"> 77<li>Detail: </li> 78<li><a href="#annotation.type.field.detail">Field</a> | </li> 79<li><a href="#annotation.type.element.detail">Element</a></li> 80</ul> 81</div> 82<a name="skip.navbar.top"> 83<!-- --> 84</a></div> 85<!-- ========= END OF TOP NAVBAR ========= --> 86<!-- ======== START OF CLASS DATA ======== --> 87<div class="header"> 88<div class="subTitle">com.fasterxml.jackson.databind.annotation</div> 89<h2 title="Annotation Type JsonPOJOBuilder" class="title">Annotation Type JsonPOJOBuilder</h2> 90</div> 91<div class="contentContainer"> 92<div class="description"> 93<ul class="blockList"> 94<li class="blockList"> 95<hr> 96<br> 97<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true" title="class or interface in java.lang.annotation">@Target</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Target.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>={<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#ANNOTATION_TYPE" title="class or interface in java.lang.annotation">ANNOTATION_TYPE</a>,<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/ElementType.html?is-external=true#TYPE" title="class or interface in java.lang.annotation">TYPE</a>}) 98 <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true" title="class or interface in java.lang.annotation">@Retention</a>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Retention.html?is-external=true#value--" title="class or interface in java.lang.annotation">value</a>=<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/annotation/RetentionPolicy.html?is-external=true#RUNTIME" title="class or interface in java.lang.annotation">RUNTIME</a>) 99public @interface <span class="memberNameLabel">JsonPOJOBuilder</span></pre> 100<div class="block">Annotation used to configure details of a Builder class: 101 instances of which are used as Builders for deserialized 102 POJO values, instead of POJOs being instantiated using 103 constructors or factory methods. 104 Note that this annotation is NOT used to define what is 105 the Builder class for a POJO: rather, this is determined 106 by <a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonDeserialize.html#builder--"><code>JsonDeserialize.builder()</code></a> property of <a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonDeserialize.html" title="annotation in com.fasterxml.jackson.databind.annotation"><code>JsonDeserialize</code></a>. 107<p> 108 Annotation is typically used if the naming convention 109 of a Builder class is different from defaults: 110<ul> 111 <li>By default, setters are expected to have names like `withName()` (for property "name"); 112 override by <a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html#withPrefix--"><code>withPrefix()</code></a> property. 113 </li> 114 </ul> 115<p> 116 In addition to configuration using this annotation, note that many other configuration 117 annotations are also applied to Builders, for example 118 <a href="http://fasterxml.github.io/jackson-annotations/javadoc/2.11/com/fasterxml/jackson/annotation/JsonIgnoreProperties.html?is-external=true" title="class or interface in com.fasterxml.jackson.annotation"><code>JsonIgnoreProperties</code></a> can be used to ignore 119 "unknown" properties.</div> 120<dl> 121<dt><span class="simpleTagLabel">Since:</span></dt> 122<dd>2.0</dd> 123</dl> 124</li> 125</ul> 126</div> 127<div class="summary"> 128<ul class="blockList"> 129<li class="blockList"> 130<!-- =========== ANNOTATION TYPE FIELD SUMMARY =========== --> 131<ul class="blockList"> 132<li class="blockList"><a name="annotation.type.field.summary"> 133<!-- --> 134</a> 135<h3>Field Summary</h3> 136<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation"> 137<caption><span>Fields</span><span class="tabEnd"> </span></caption> 138<tr> 139<th class="colFirst" scope="col">Modifier and Type</th> 140<th class="colLast" scope="col">Fields and Description</th> 141</tr> 142<tr class="altColor"> 143<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> 144<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html#DEFAULT_BUILD_METHOD">DEFAULT_BUILD_METHOD</a></span></code> </td> 145</tr> 146<tr class="rowColor"> 147<td class="colFirst"><code>static <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> 148<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html#DEFAULT_WITH_PREFIX">DEFAULT_WITH_PREFIX</a></span></code> </td> 149</tr> 150</table> 151</li> 152</ul> 153<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== --> 154<ul class="blockList"> 155<li class="blockList"><a name="annotation.type.optional.element.summary"> 156<!-- --> 157</a> 158<h3>Optional Element Summary</h3> 159<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Optional Element Summary table, listing optional elements, and an explanation"> 160<caption><span>Optional Elements</span><span class="tabEnd"> </span></caption> 161<tr> 162<th class="colFirst" scope="col">Modifier and Type</th> 163<th class="colLast" scope="col">Optional Element and Description</th> 164</tr> 165<tr class="altColor"> 166<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> 167<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html#buildMethodName--">buildMethodName</a></span></code> 168<div class="block">Property to use for re-defining which zero-argument method 169 is considered the actual "build-method": method called after 170 all data has been bound, and the actual instance needs to 171 be instantiated.</div> 172</td> 173</tr> 174<tr class="rowColor"> 175<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td> 176<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html#withPrefix--">withPrefix</a></span></code> 177<div class="block">Property used for (re)defining name prefix to use for 178 auto-detecting "with-methods": methods that are similar to 179 "set-methods" (in that they take an argument), but that 180 may also return the new builder instance to use 181 (which may be 'this', or a new modified builder instance).</div> 182</td> 183</tr> 184</table> 185</li> 186</ul> 187</li> 188</ul> 189</div> 190<div class="details"> 191<ul class="blockList"> 192<li class="blockList"> 193<!-- ============ ANNOTATION TYPE FIELD DETAIL =========== --> 194<ul class="blockList"> 195<li class="blockList"><a name="annotation.type.field.detail"> 196<!-- --> 197</a> 198<h3>Field Detail</h3> 199<a name="DEFAULT_BUILD_METHOD"> 200<!-- --> 201</a> 202<ul class="blockList"> 203<li class="blockList"> 204<h4>DEFAULT_BUILD_METHOD</h4> 205<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_BUILD_METHOD</pre> 206<dl> 207<dt><span class="simpleTagLabel">Since:</span></dt> 208<dd>2.9</dd> 209</dl> 210</li> 211</ul> 212</li> 213</ul> 214<ul class="blockList"> 215<li class="blockList"><a name="DEFAULT_WITH_PREFIX"> 216<!-- --> 217</a> 218<ul class="blockListLast"> 219<li class="blockList"> 220<h4>DEFAULT_WITH_PREFIX</h4> 221<pre>public static final <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> DEFAULT_WITH_PREFIX</pre> 222<dl> 223<dt><span class="simpleTagLabel">Since:</span></dt> 224<dd>2.9</dd> 225</dl> 226</li> 227</ul> 228</li> 229</ul> 230<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== --> 231<ul class="blockList"> 232<li class="blockList"><a name="annotation.type.element.detail"> 233<!-- --> 234</a> 235<h3>Element Detail</h3> 236<a name="buildMethodName--"> 237<!-- --> 238</a> 239<ul class="blockList"> 240<li class="blockList"> 241<h4>buildMethodName</h4> 242<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> buildMethodName</pre> 243<div class="block">Property to use for re-defining which zero-argument method 244 is considered the actual "build-method": method called after 245 all data has been bound, and the actual instance needs to 246 be instantiated. 247<p> 248 Default value is "build".</div> 249<dl> 250<dt>Default:</dt> 251<dd>"build"</dd> 252</dl> 253</li> 254</ul> 255</li> 256</ul> 257<ul class="blockList"> 258<li class="blockList"><a name="withPrefix--"> 259<!-- --> 260</a> 261<ul class="blockListLast"> 262<li class="blockList"> 263<h4>withPrefix</h4> 264<pre>public abstract <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> withPrefix</pre> 265<div class="block">Property used for (re)defining name prefix to use for 266 auto-detecting "with-methods": methods that are similar to 267 "set-methods" (in that they take an argument), but that 268 may also return the new builder instance to use 269 (which may be 'this', or a new modified builder instance). 270 Note that in addition to this prefix, it is also possible 271 to use <a href="http://fasterxml.github.io/jackson-annotations/javadoc/2.11/com/fasterxml/jackson/annotation/JsonProperty.html?is-external=true" title="class or interface in com.fasterxml.jackson.annotation"><code>JsonProperty</code></a> 272 annotation to indicate "with-methods" (as well as 273 <a href="http://fasterxml.github.io/jackson-annotations/javadoc/2.11/com/fasterxml/jackson/annotation/JsonSetter.html?is-external=true" title="class or interface in com.fasterxml.jackson.annotation"><code>JsonSetter</code></a>). 274<p> 275 Default value is "with", so that method named "withValue()" 276 would be used for binding JSON property "value" (using type 277 indicated by the argument; or one defined with annotations.</div> 278<dl> 279<dt>Default:</dt> 280<dd>"with"</dd> 281</dl> 282</li> 283</ul> 284</li> 285</ul> 286</li> 287</ul> 288</div> 289</div> 290<!-- ========= END OF CLASS DATA ========= --> 291<!-- ======= START OF BOTTOM NAVBAR ====== --> 292<div class="bottomNav"><a name="navbar.bottom"> 293<!-- --> 294</a> 295<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div> 296<a name="navbar.bottom.firstrow"> 297<!-- --> 298</a> 299<ul class="navList" title="Navigation"> 300<li><a href="../../../../../overview-summary.html">Overview</a></li> 301<li><a href="package-summary.html">Package</a></li> 302<li class="navBarCell1Rev">Class</li> 303<li><a href="class-use/JsonPOJOBuilder.html">Use</a></li> 304<li><a href="package-tree.html">Tree</a></li> 305<li><a href="../../../../../deprecated-list.html">Deprecated</a></li> 306<li><a href="../../../../../index-all.html">Index</a></li> 307<li><a href="../../../../../help-doc.html">Help</a></li> 308</ul> 309</div> 310<div class="subNav"> 311<ul class="navList"> 312<li><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonNaming.html" title="annotation in com.fasterxml.jackson.databind.annotation"><span class="typeNameLink">Prev Class</span></a></li> 313<li><a href="../../../../../com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.Value.html" title="class in com.fasterxml.jackson.databind.annotation"><span class="typeNameLink">Next Class</span></a></li> 314</ul> 315<ul class="navList"> 316<li><a href="../../../../../index.html?com/fasterxml/jackson/databind/annotation/JsonPOJOBuilder.html" target="_top">Frames</a></li> 317<li><a href="JsonPOJOBuilder.html" target="_top">No Frames</a></li> 318</ul> 319<ul class="navList" id="allclasses_navbar_bottom"> 320<li><a href="../../../../../allclasses-noframe.html">All Classes</a></li> 321</ul> 322<div> 323<script type="text/javascript"><!-- 324 allClassesLink = document.getElementById("allclasses_navbar_bottom"); 325 if(window==top) { 326 allClassesLink.style.display = "block"; 327 } 328 else { 329 allClassesLink.style.display = "none"; 330 } 331 //--> 332</script> 333</div> 334<div> 335<ul class="subNavList"> 336<li>Summary: </li> 337<li><a href="#annotation.type.field.summary">Field</a> | </li> 338<li>Required | </li> 339<li><a href="#annotation.type.optional.element.summary">Optional</a></li> 340</ul> 341<ul class="subNavList"> 342<li>Detail: </li> 343<li><a href="#annotation.type.field.detail">Field</a> | </li> 344<li><a href="#annotation.type.element.detail">Element</a></li> 345</ul> 346</div> 347<a name="skip.navbar.bottom"> 348<!-- --> 349</a></div> 350<!-- ======== END OF BOTTOM NAVBAR ======= --> 351<p class="legalCopy"><small>Copyright © 2008–2020 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p> 352</body> 353</html> 354