• 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 (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&nbsp;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&nbsp;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&nbsp;Frames</a></li>
53</ul>
54<ul class="navList" id="allclasses_navbar_top">
55<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
72<li><a href="#annotation.type.field.summary">Field</a>&nbsp;|&nbsp;</li>
73<li>Required&nbsp;|&nbsp;</li>
74<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
75</ul>
76<ul class="subNavList">
77<li>Detail:&nbsp;</li>
78<li><a href="#annotation.type.field.detail">Field</a>&nbsp;|&nbsp;</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">&nbsp;</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>&nbsp;</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>&nbsp;</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">&nbsp;</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&nbsp;<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>&nbsp;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&nbsp;<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>&nbsp;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&nbsp;<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>&nbsp;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&nbsp;<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>&nbsp;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&nbsp;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&nbsp;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&nbsp;Frames</a></li>
318</ul>
319<ul class="navList" id="allclasses_navbar_bottom">
320<li><a href="../../../../../allclasses-noframe.html">All&nbsp;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:&nbsp;</li>
337<li><a href="#annotation.type.field.summary">Field</a>&nbsp;|&nbsp;</li>
338<li>Required&nbsp;|&nbsp;</li>
339<li><a href="#annotation.type.optional.element.summary">Optional</a></li>
340</ul>
341<ul class="subNavList">
342<li>Detail:&nbsp;</li>
343<li><a href="#annotation.type.field.detail">Field</a>&nbsp;|&nbsp;</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 &#169; 2008&#x2013;2020 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p>
352</body>
353</html>
354