55import com .fasterxml .jackson .core .JsonParser ;
66import com .fasterxml .jackson .core .JsonToken ;
77import com .fasterxml .jackson .databind .*;
8+ import com .fasterxml .jackson .databind .cfg .CacheProvider ;
89import com .fasterxml .jackson .databind .deser .DefaultDeserializationContext ;
910import com .fasterxml .jackson .databind .deser .DeserializerCache ;
1011import com .fasterxml .jackson .databind .deser .DeserializerFactory ;
@@ -31,7 +32,9 @@ public class XmlDeserializationContext
3132 * {@link DeserializerCache}, given factory.
3233 */
3334 public XmlDeserializationContext (DeserializerFactory df ) {
34- super (df , null );
35+ // 04-Sep-2023, tatu: Not ideal (wrt not going via CacheProvider) but
36+ // has to do for backwards compatibility:
37+ super (df , new DeserializerCache ());
3538 }
3639
3740 private XmlDeserializationContext (XmlDeserializationContext src ,
@@ -49,6 +52,11 @@ private XmlDeserializationContext(XmlDeserializationContext src, Deserialization
4952 super (src , config );
5053 }
5154
55+ // @since 2.16
56+ private XmlDeserializationContext (XmlDeserializationContext src , CacheProvider cp ) {
57+ super (src , cp );
58+ }
59+
5260 @ Override
5361 public XmlDeserializationContext copy () {
5462 return new XmlDeserializationContext (this );
@@ -71,6 +79,11 @@ public DefaultDeserializationContext with(DeserializerFactory factory) {
7179 return new XmlDeserializationContext (this , factory );
7280 }
7381
82+ @ Override
83+ public DefaultDeserializationContext withCaches (CacheProvider cp ) {
84+ return new XmlDeserializationContext (this , cp );
85+ }
86+
7487 /*
7588 /**********************************************************
7689 /* Overrides we need
0 commit comments