Skip to content

Commit 9dbee04

Browse files
committed
createUsingArrayDelegate should fallback to the class createUsingDelegate if there's no array delegate set
1 parent 5fa9253 commit 9dbee04

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/main/java/com/fasterxml/jackson/databind/deser/std/StdValueInstantiator.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -252,13 +252,17 @@ public Object createFromObjectWith(DeserializationContext ctxt, Object[] args) t
252252
@Override
253253
public Object createUsingDelegate(DeserializationContext ctxt, Object delegate) throws IOException
254254
{
255-
return createUsingDelegate(_delegateCreator, _delegateArguments, ctxt, delegate);
255+
return _createUsingDelegate(_delegateCreator, _delegateArguments, ctxt, delegate);
256256
}
257257

258258
@Override
259259
public Object createUsingArrayDelegate(DeserializationContext ctxt, Object delegate) throws IOException
260260
{
261-
return createUsingDelegate(_arrayDelegateCreator, _arrayDelegateArguments, ctxt, delegate);
261+
if (_arrayDelegateCreator == null) { // sanity-check; caller should check
262+
// fallback to the classic delegate creator
263+
return createUsingDelegate(ctxt, delegate);
264+
}
265+
return _createUsingDelegate(_arrayDelegateCreator, _arrayDelegateArguments, ctxt, delegate);
262266
}
263267

264268
/*
@@ -451,7 +455,7 @@ protected JsonMappingException rewrapCtorProblem(DeserializationContext ctxt,
451455
/**********************************************************
452456
*/
453457

454-
private Object createUsingDelegate(
458+
private Object _createUsingDelegate(
455459
AnnotatedWithParams delegateCreator,
456460
SettableBeanProperty[] delegateArguments,
457461
DeserializationContext ctxt,

0 commit comments

Comments
 (0)