6
6
import com .fasterxml .jackson .annotation .*;
7
7
import com .fasterxml .jackson .databind .*;
8
8
import com .fasterxml .jackson .databind .introspect .ClassIntrospector ;
9
+ import com .fasterxml .jackson .databind .introspect .SimpleMixInResolver ;
9
10
import com .fasterxml .jackson .databind .introspect .ClassIntrospector .MixInResolver ;
10
11
11
12
public class TestMixinSerForMethods
@@ -147,11 +148,18 @@ public void testIntermediateMixin2() throws IOException
147
148
assertEquals (Integer .valueOf (42 ), result .get ("x" ));
148
149
}
149
150
151
+ public void testSimpleMixInResolverHasMixins () {
152
+ SimpleMixInResolver simple = new SimpleMixInResolver (null );
153
+ assertFalse (simple .hasMixIns ());
154
+ simple .addLocalDefinition (String .class , Number .class );
155
+ assertTrue (simple .hasMixIns ());
156
+ }
157
+
150
158
// [databind#688]
151
159
public void testCustomResolver () throws IOException
152
160
{
153
161
ObjectMapper mapper = new ObjectMapper ();
154
- mapper . setMixInResolver ( new ClassIntrospector .MixInResolver () {
162
+ MixInResolver res = new ClassIntrospector .MixInResolver () {
155
163
@ Override
156
164
public Class <?> findMixInClassFor (Class <?> target ) {
157
165
if (target == EmptyBean .class ) {
@@ -164,9 +172,13 @@ public Class<?> findMixInClassFor(Class<?> target) {
164
172
public MixInResolver copy () {
165
173
return this ;
166
174
}
167
- });
175
+ };
176
+ mapper .setMixInResolver (res );
168
177
Map <String ,Object > result = writeAndMap (mapper , new SimpleBean ());
169
178
assertEquals (1 , result .size ());
170
179
assertEquals (Integer .valueOf (42 ), result .get ("x" ));
180
+
181
+ SimpleMixInResolver simple = new SimpleMixInResolver (res );
182
+ assertTrue (simple .hasMixIns ());
171
183
}
172
184
}
0 commit comments