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 Wed Sep 25 19:26:35 PDT 2019 -->
6<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
7<title>ObjectIdResolver (Jackson-annotations 2.10.0 API)</title>
8<meta name="date" content="2019-09-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="ObjectIdResolver (Jackson-annotations 2.10.0 API)";
17        }
18    }
19    catch(err) {
20    }
21//-->
22var methods = {"i0":6,"i1":6,"i2":6,"i3":6};
23var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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="../../../../com/fasterxml/jackson/annotation/package-summary.html">Package</a></li>
42<li class="navBarCell1Rev">Class</li>
43<li><a href="class-use/ObjectIdResolver.html">Use</a></li>
44<li><a href="package-tree.html">Tree</a></li>
45<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
46<li><a href="../../../../index-all.html">Index</a></li>
47<li><a href="../../../../help-doc.html">Help</a></li>
48</ul>
49</div>
50<div class="subNav">
51<ul class="navList">
52<li><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerators.UUIDGenerator.html" title="class in com.fasterxml.jackson.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
53<li><a href="../../../../com/fasterxml/jackson/annotation/OptBoolean.html" title="enum in com.fasterxml.jackson.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
54</ul>
55<ul class="navList">
56<li><a href="../../../../index.html?com/fasterxml/jackson/annotation/ObjectIdResolver.html" target="_top">Frames</a></li>
57<li><a href="ObjectIdResolver.html" target="_top">No&nbsp;Frames</a></li>
58</ul>
59<ul class="navList" id="allclasses_navbar_top">
60<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
61</ul>
62<div>
63<script type="text/javascript"><!--
64  allClassesLink = document.getElementById("allclasses_navbar_top");
65  if(window==top) {
66    allClassesLink.style.display = "block";
67  }
68  else {
69    allClassesLink.style.display = "none";
70  }
71  //-->
72</script>
73</div>
74<div>
75<ul class="subNavList">
76<li>Summary:&nbsp;</li>
77<li>Nested&nbsp;|&nbsp;</li>
78<li>Field&nbsp;|&nbsp;</li>
79<li>Constr&nbsp;|&nbsp;</li>
80<li><a href="#method.summary">Method</a></li>
81</ul>
82<ul class="subNavList">
83<li>Detail:&nbsp;</li>
84<li>Field&nbsp;|&nbsp;</li>
85<li>Constr&nbsp;|&nbsp;</li>
86<li><a href="#method.detail">Method</a></li>
87</ul>
88</div>
89<a name="skip.navbar.top">
90<!--   -->
91</a></div>
92<!-- ========= END OF TOP NAVBAR ========= -->
93<!-- ======== START OF CLASS DATA ======== -->
94<div class="header">
95<div class="subTitle">com.fasterxml.jackson.annotation</div>
96<h2 title="Interface ObjectIdResolver" class="title">Interface ObjectIdResolver</h2>
97</div>
98<div class="contentContainer">
99<div class="description">
100<ul class="blockList">
101<li class="blockList">
102<dl>
103<dt>All Known Implementing Classes:</dt>
104<dd><a href="../../../../com/fasterxml/jackson/annotation/SimpleObjectIdResolver.html" title="class in com.fasterxml.jackson.annotation">SimpleObjectIdResolver</a></dd>
105</dl>
106<hr>
107<br>
108<pre>public interface <span class="typeNameLabel">ObjectIdResolver</span></pre>
109<div class="block">Definition of API used for resolving actual Java object from
110 Object Identifiers (as annotated using <a href="../../../../com/fasterxml/jackson/annotation/JsonIdentityInfo.html" title="annotation in com.fasterxml.jackson.annotation"><code>JsonIdentityInfo</code></a>).</div>
111<dl>
112<dt><span class="simpleTagLabel">Since:</span></dt>
113<dd>2.4</dd>
114</dl>
115</li>
116</ul>
117</div>
118<div class="summary">
119<ul class="blockList">
120<li class="blockList">
121<!-- ========== METHOD SUMMARY =========== -->
122<ul class="blockList">
123<li class="blockList"><a name="method.summary">
124<!--   -->
125</a>
126<h3>Method Summary</h3>
127<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
128<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
129<tr>
130<th class="colFirst" scope="col">Modifier and Type</th>
131<th class="colLast" scope="col">Method and Description</th>
132</tr>
133<tr id="i0" class="altColor">
134<td class="colFirst"><code>void</code></td>
135<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#bindItem-com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey-java.lang.Object-">bindItem</a></span>(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerator.IdKey.html" title="class in com.fasterxml.jackson.annotation">ObjectIdGenerator.IdKey</a>&nbsp;id,
136        <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</code>
137<div class="block">Method called when a POJO is deserialized and has an Object Identifier.</div>
138</td>
139</tr>
140<tr id="i1" class="rowColor">
141<td class="colFirst"><code>boolean</code></td>
142<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#canUseFor-com.fasterxml.jackson.annotation.ObjectIdResolver-">canUseFor</a></span>(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html" title="interface in com.fasterxml.jackson.annotation">ObjectIdResolver</a>&nbsp;resolverType)</code>
143<div class="block">Method called to check whether this resolver instance can be used for
144 Object Ids of specific resolver type; determination is based by passing a
145 configured "blueprint" (prototype) instance; from which the actual
146 instances are created (using <a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#newForDeserialization-java.lang.Object-"><code>newForDeserialization(java.lang.Object)</code></a>).</div>
147</td>
148</tr>
149<tr id="i2" class="altColor">
150<td class="colFirst"><code><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html" title="interface in com.fasterxml.jackson.annotation">ObjectIdResolver</a></code></td>
151<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#newForDeserialization-java.lang.Object-">newForDeserialization</a></span>(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;context)</code>
152<div class="block">Factory method called to create a new instance to use for
153 deserialization: needed since resolvers may have state (a pool of
154 objects).</div>
155</td>
156</tr>
157<tr id="i3" class="rowColor">
158<td class="colFirst"><code><a href="https://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>
159<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#resolveId-com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey-">resolveId</a></span>(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerator.IdKey.html" title="class in com.fasterxml.jackson.annotation">ObjectIdGenerator.IdKey</a>&nbsp;id)</code>
160<div class="block">Method called when deserialization encounters the given Object Identifier
161 and requires the POJO associated with it.</div>
162</td>
163</tr>
164</table>
165</li>
166</ul>
167</li>
168</ul>
169</div>
170<div class="details">
171<ul class="blockList">
172<li class="blockList">
173<!-- ============ METHOD DETAIL ========== -->
174<ul class="blockList">
175<li class="blockList"><a name="method.detail">
176<!--   -->
177</a>
178<h3>Method Detail</h3>
179<a name="bindItem-com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey-java.lang.Object-">
180<!--   -->
181</a>
182<ul class="blockList">
183<li class="blockList">
184<h4>bindItem</h4>
185<pre>void&nbsp;bindItem(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerator.IdKey.html" title="class in com.fasterxml.jackson.annotation">ObjectIdGenerator.IdKey</a>&nbsp;id,
186              <a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;pojo)</pre>
187<div class="block">Method called when a POJO is deserialized and has an Object Identifier.
188 Method exists so that implementation can keep track of existing object in
189 JSON stream that could be useful for further resolution.</div>
190<dl>
191<dt><span class="paramLabel">Parameters:</span></dt>
192<dd><code>id</code> - The Object Identifer</dd>
193<dd><code>pojo</code> - The POJO associated to that Identifier</dd>
194</dl>
195</li>
196</ul>
197<a name="resolveId-com.fasterxml.jackson.annotation.ObjectIdGenerator.IdKey-">
198<!--   -->
199</a>
200<ul class="blockList">
201<li class="blockList">
202<h4>resolveId</h4>
203<pre><a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;resolveId(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerator.IdKey.html" title="class in com.fasterxml.jackson.annotation">ObjectIdGenerator.IdKey</a>&nbsp;id)</pre>
204<div class="block">Method called when deserialization encounters the given Object Identifier
205 and requires the POJO associated with it.</div>
206<dl>
207<dt><span class="paramLabel">Parameters:</span></dt>
208<dd><code>id</code> - The Object Identifier</dd>
209<dt><span class="returnLabel">Returns:</span></dt>
210<dd>The POJO, or null if unable to resolve.</dd>
211</dl>
212</li>
213</ul>
214<a name="newForDeserialization-java.lang.Object-">
215<!--   -->
216</a>
217<ul class="blockList">
218<li class="blockList">
219<h4>newForDeserialization</h4>
220<pre><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html" title="interface in com.fasterxml.jackson.annotation">ObjectIdResolver</a>&nbsp;newForDeserialization(<a href="https://docs.oracle.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;context)</pre>
221<div class="block">Factory method called to create a new instance to use for
222 deserialization: needed since resolvers may have state (a pool of
223 objects).
224 <p>
225 Note that actual type of 'context' is
226 <code>com.fasterxml.jackson.databind.DeserializationContext</code>, but
227 can not be declared here as type itself (as well as call to this object)
228 comes from databind package.</div>
229<dl>
230<dt><span class="paramLabel">Parameters:</span></dt>
231<dd><code>context</code> - Deserialization context object used (of type
232            <code>com.fasterxml.jackson.databind.DeserializationContext</code>
233            ; may be needed by more complex resolvers to access contextual
234            information such as configuration.</dd>
235</dl>
236</li>
237</ul>
238<a name="canUseFor-com.fasterxml.jackson.annotation.ObjectIdResolver-">
239<!--   -->
240</a>
241<ul class="blockListLast">
242<li class="blockList">
243<h4>canUseFor</h4>
244<pre>boolean&nbsp;canUseFor(<a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html" title="interface in com.fasterxml.jackson.annotation">ObjectIdResolver</a>&nbsp;resolverType)</pre>
245<div class="block">Method called to check whether this resolver instance can be used for
246 Object Ids of specific resolver type; determination is based by passing a
247 configured "blueprint" (prototype) instance; from which the actual
248 instances are created (using <a href="../../../../com/fasterxml/jackson/annotation/ObjectIdResolver.html#newForDeserialization-java.lang.Object-"><code>newForDeserialization(java.lang.Object)</code></a>).</div>
249<dl>
250<dt><span class="returnLabel">Returns:</span></dt>
251<dd>True if this instance can be used as-is; false if not</dd>
252</dl>
253</li>
254</ul>
255</li>
256</ul>
257</li>
258</ul>
259</div>
260</div>
261<!-- ========= END OF CLASS DATA ========= -->
262<!-- ======= START OF BOTTOM NAVBAR ====== -->
263<div class="bottomNav"><a name="navbar.bottom">
264<!--   -->
265</a>
266<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
267<a name="navbar.bottom.firstrow">
268<!--   -->
269</a>
270<ul class="navList" title="Navigation">
271<li><a href="../../../../com/fasterxml/jackson/annotation/package-summary.html">Package</a></li>
272<li class="navBarCell1Rev">Class</li>
273<li><a href="class-use/ObjectIdResolver.html">Use</a></li>
274<li><a href="package-tree.html">Tree</a></li>
275<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
276<li><a href="../../../../index-all.html">Index</a></li>
277<li><a href="../../../../help-doc.html">Help</a></li>
278</ul>
279</div>
280<div class="subNav">
281<ul class="navList">
282<li><a href="../../../../com/fasterxml/jackson/annotation/ObjectIdGenerators.UUIDGenerator.html" title="class in com.fasterxml.jackson.annotation"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
283<li><a href="../../../../com/fasterxml/jackson/annotation/OptBoolean.html" title="enum in com.fasterxml.jackson.annotation"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
284</ul>
285<ul class="navList">
286<li><a href="../../../../index.html?com/fasterxml/jackson/annotation/ObjectIdResolver.html" target="_top">Frames</a></li>
287<li><a href="ObjectIdResolver.html" target="_top">No&nbsp;Frames</a></li>
288</ul>
289<ul class="navList" id="allclasses_navbar_bottom">
290<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
291</ul>
292<div>
293<script type="text/javascript"><!--
294  allClassesLink = document.getElementById("allclasses_navbar_bottom");
295  if(window==top) {
296    allClassesLink.style.display = "block";
297  }
298  else {
299    allClassesLink.style.display = "none";
300  }
301  //-->
302</script>
303</div>
304<div>
305<ul class="subNavList">
306<li>Summary:&nbsp;</li>
307<li>Nested&nbsp;|&nbsp;</li>
308<li>Field&nbsp;|&nbsp;</li>
309<li>Constr&nbsp;|&nbsp;</li>
310<li><a href="#method.summary">Method</a></li>
311</ul>
312<ul class="subNavList">
313<li>Detail:&nbsp;</li>
314<li>Field&nbsp;|&nbsp;</li>
315<li>Constr&nbsp;|&nbsp;</li>
316<li><a href="#method.detail">Method</a></li>
317</ul>
318</div>
319<a name="skip.navbar.bottom">
320<!--   -->
321</a></div>
322<!-- ======== END OF BOTTOM NAVBAR ======= -->
323<p class="legalCopy"><small>Copyright &#169; 2008&#x2013;2019 <a href="http://fasterxml.com/">FasterXML</a>. All rights reserved.</small></p>
324</body>
325</html>
326