Skip to content

Commit 3db9730

Browse files
committed
Fix #3047 (Bean[De]SerializerModifier->Value[De]SerializerModifier)
1 parent c59045b commit 3db9730

19 files changed

+122
-130
lines changed

Diff for: release-notes/VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,6 @@ Versions: 3.x (for earlier see VERSION-2.x)
4646
`JsonGenerator.canWriteBinaryNatively()`
4747
#3037: Rename `Module` as `JacksonModule` in 3.0 (to avoid overlap with `java.lang.Module`)
4848
#3046: Rename `JsonSerializable` as `JacksonSerializable` in 3.0
49+
#3047: Rename `Bean[De]SerializerModifier` as `Value[De]SerializerModifier` in 3.0
4950
- Remove `MappingJsonFactory`
5051
- Add context parameter for `TypeSerializer` contextualization (`forProperty()`)

Diff for: src/main/java/com/fasterxml/jackson/databind/JacksonModule.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.fasterxml.jackson.databind.cfg.MutableConfigOverride;
1010
import com.fasterxml.jackson.databind.deser.*;
1111
import com.fasterxml.jackson.databind.jsontype.NamedType;
12-
import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
12+
import com.fasterxml.jackson.databind.ser.ValueSerializerModifier;
1313
import com.fasterxml.jackson.databind.ser.Serializers;
1414
import com.fasterxml.jackson.databind.type.TypeFactory;
1515
import com.fasterxml.jackson.databind.type.TypeModifier;
@@ -199,7 +199,7 @@ public static interface SetupContext
199199
*
200200
* @param mod Modifier to register
201201
*/
202-
public SetupContext addDeserializerModifier(BeanDeserializerModifier mod);
202+
public SetupContext addDeserializerModifier(ValueDeserializerModifier mod);
203203

204204
/**
205205
* Method that module can use to register additional {@link com.fasterxml.jackson.databind.deser.ValueInstantiator}s,
@@ -239,7 +239,7 @@ public static interface SetupContext
239239
*
240240
* @param mod Modifier to register
241241
*/
242-
public SetupContext addSerializerModifier(BeanSerializerModifier mod);
242+
public SetupContext addSerializerModifier(ValueSerializerModifier mod);
243243

244244
/**
245245
* Method that module can use to override handler called to write JSON Object key

Diff for: src/main/java/com/fasterxml/jackson/databind/cfg/DeserializerFactoryConfig.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class DeserializerFactoryConfig
1515
private static final long serialVersionUID = 3L;
1616

1717
protected final static Deserializers[] NO_DESERIALIZERS = new Deserializers[0];
18-
protected final static BeanDeserializerModifier[] NO_MODIFIERS = new BeanDeserializerModifier[0];
18+
protected final static ValueDeserializerModifier[] NO_MODIFIERS = new ValueDeserializerModifier[0];
1919
protected final static ValueInstantiators[] NO_VALUE_INSTANTIATORS = new ValueInstantiators[0];
2020

2121
/**
@@ -42,7 +42,7 @@ public class DeserializerFactoryConfig
4242
* List of modifiers that can change the way {@link BeanDeserializer} instances
4343
* are configured and constructed.
4444
*/
45-
protected final BeanDeserializerModifier[] _modifiers;
45+
protected final ValueDeserializerModifier[] _modifiers;
4646

4747
/**
4848
* List of objects that know how to create instances of POJO types;
@@ -67,7 +67,7 @@ public DeserializerFactoryConfig() {
6767
*/
6868
protected DeserializerFactoryConfig(Deserializers[] allAdditionalDeserializers,
6969
KeyDeserializers[] allAdditionalKeyDeserializers,
70-
BeanDeserializerModifier[] modifiers,
70+
ValueDeserializerModifier[] modifiers,
7171
ValueInstantiators[] vi)
7272
{
7373
_additionalDeserializers = (allAdditionalDeserializers == null) ?
@@ -116,12 +116,12 @@ public DeserializerFactoryConfig withAdditionalKeyDeserializers(KeyDeserializers
116116
* deserialiazer modifier. Added modifier has the highest priority (that is, it
117117
* gets called before any already registered modifier).
118118
*/
119-
public DeserializerFactoryConfig withDeserializerModifier(BeanDeserializerModifier modifier)
119+
public DeserializerFactoryConfig withDeserializerModifier(ValueDeserializerModifier modifier)
120120
{
121121
if (modifier == null) {
122122
throw new IllegalArgumentException("Cannot pass null modifier");
123123
}
124-
BeanDeserializerModifier[] all = ArrayBuilders.insertInListNoDup(_modifiers, modifier);
124+
ValueDeserializerModifier[] all = ArrayBuilders.insertInListNoDup(_modifiers, modifier);
125125
return new DeserializerFactoryConfig(_additionalDeserializers, _additionalKeyDeserializers,
126126
all, _valueInstantiators);
127127
}
@@ -162,8 +162,8 @@ public Iterable<KeyDeserializers> keyDeserializers() {
162162
return new ArrayIterator<KeyDeserializers>(_additionalKeyDeserializers);
163163
}
164164

165-
public Iterable<BeanDeserializerModifier> deserializerModifiers() {
166-
return new ArrayIterator<BeanDeserializerModifier>(_modifiers);
165+
public Iterable<ValueDeserializerModifier> deserializerModifiers() {
166+
return new ArrayIterator<ValueDeserializerModifier>(_modifiers);
167167
}
168168

169169
public Iterable<ValueInstantiators> valueInstantiators() {

Diff for: src/main/java/com/fasterxml/jackson/databind/cfg/ModuleContextBase.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import com.fasterxml.jackson.databind.JacksonModule.SetupContext;
1010
import com.fasterxml.jackson.databind.deser.*;
1111
import com.fasterxml.jackson.databind.jsontype.NamedType;
12-
import com.fasterxml.jackson.databind.ser.BeanSerializerModifier;
12+
import com.fasterxml.jackson.databind.ser.ValueSerializerModifier;
1313
import com.fasterxml.jackson.databind.ser.SerializerFactory;
1414
import com.fasterxml.jackson.databind.ser.Serializers;
1515
import com.fasterxml.jackson.databind.type.TypeFactory;
@@ -141,7 +141,7 @@ public SetupContext addKeyDeserializers(KeyDeserializers kd) {
141141
}
142142

143143
@Override
144-
public SetupContext addDeserializerModifier(BeanDeserializerModifier modifier) {
144+
public SetupContext addDeserializerModifier(ValueDeserializerModifier modifier) {
145145
_set(_deserializerFactory().withDeserializerModifier(modifier));
146146
return this;
147147
}
@@ -171,7 +171,7 @@ public SetupContext addKeySerializers(Serializers s) {
171171
}
172172

173173
@Override
174-
public SetupContext addSerializerModifier(BeanSerializerModifier modifier) {
174+
public SetupContext addSerializerModifier(ValueSerializerModifier modifier) {
175175
_set(_serializerFactory().withSerializerModifier(modifier));
176176
return this;
177177
}

Diff for: src/main/java/com/fasterxml/jackson/databind/cfg/SerializerFactoryConfig.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public final class SerializerFactoryConfig
2626
*/
2727
protected final static Serializers[] NO_SERIALIZERS = new Serializers[0];
2828

29-
protected final static BeanSerializerModifier[] NO_MODIFIERS = new BeanSerializerModifier[0];
29+
protected final static ValueSerializerModifier[] NO_MODIFIERS = new ValueSerializerModifier[0];
3030

3131
/**
3232
* List of providers for additional serializers, checked before considering default
@@ -44,7 +44,7 @@ public final class SerializerFactoryConfig
4444
* List of modifiers that can change the way {@link BeanSerializer} instances
4545
* are configured and constructed.
4646
*/
47-
protected final BeanSerializerModifier[] _modifiers;
47+
protected final ValueSerializerModifier[] _modifiers;
4848

4949
/**
5050
* Serializer used to output a null value, unless explicitly redefined for property.
@@ -65,7 +65,7 @@ public SerializerFactoryConfig() {
6565

6666
protected SerializerFactoryConfig(Serializers[] allAdditionalSerializers,
6767
Serializers[] allAdditionalKeySerializers,
68-
BeanSerializerModifier[] modifiers,
68+
ValueSerializerModifier[] modifiers,
6969
JsonSerializer<Object> nullKeySer,
7070
JsonSerializer<Object> nullValueSer)
7171
{
@@ -94,10 +94,10 @@ public SerializerFactoryConfig withAdditionalKeySerializers(Serializers addition
9494
_nullKeySerializer, _nullValueSerializer);
9595
}
9696

97-
public SerializerFactoryConfig withSerializerModifier(BeanSerializerModifier modifier)
97+
public SerializerFactoryConfig withSerializerModifier(ValueSerializerModifier modifier)
9898
{
99-
Objects.requireNonNull(modifier, "Cannot pass null BeanSerializerModifier");
100-
BeanSerializerModifier[] modifiers = ArrayBuilders.insertInListNoDup(_modifiers, modifier);
99+
Objects.requireNonNull(modifier, "Cannot pass null ValueSerializerModifier");
100+
ValueSerializerModifier[] modifiers = ArrayBuilders.insertInListNoDup(_modifiers, modifier);
101101
return new SerializerFactoryConfig(_additionalSerializers, _additionalKeySerializers, modifiers,
102102
_nullKeySerializer, _nullValueSerializer);
103103
}
@@ -122,7 +122,7 @@ public SerializerFactoryConfig withNullKeySerializer(JsonSerializer<?> nks) {
122122

123123
public Iterable<Serializers> serializers() { return new ArrayIterator<Serializers>(_additionalSerializers); }
124124
public Iterable<Serializers> keySerializers() { return new ArrayIterator<Serializers>(_additionalKeySerializers); }
125-
public Iterable<BeanSerializerModifier> serializerModifiers() { return new ArrayIterator<BeanSerializerModifier>(_modifiers); }
125+
public Iterable<ValueSerializerModifier> serializerModifiers() { return new ArrayIterator<ValueSerializerModifier>(_modifiers); }
126126

127127
public JsonSerializer<Object> getNullKeySerializer() { return _nullKeySerializer; }
128128
public JsonSerializer<Object> getNullValueSerializer() { return _nullValueSerializer; }

Diff for: src/main/java/com/fasterxml/jackson/databind/deser/BasicDeserializerFactory.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,10 @@ public final DeserializerFactory withAdditionalKeyDeserializers(KeyDeserializers
119119

120120
/**
121121
* Convenience method for creating a new factory instance with additional
122-
* {@link BeanDeserializerModifier}.
122+
* {@link ValueDeserializerModifier}.
123123
*/
124124
@Override
125-
public final DeserializerFactory withDeserializerModifier(BeanDeserializerModifier modifier) {
125+
public final DeserializerFactory withDeserializerModifier(ValueDeserializerModifier modifier) {
126126
return withConfig(_factoryConfig.withDeserializerModifier(modifier));
127127
}
128128

@@ -1299,7 +1299,7 @@ public JsonDeserializer<?> createArrayDeserializer(DeserializationContext ctxt,
12991299
}
13001300
// and then new with 2.2: ability to post-process it too (databind#120)
13011301
if (_factoryConfig.hasDeserializerModifiers()) {
1302-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1302+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
13031303
deser = mod.modifyArrayDeserializer(config, type, beanDesc, deser);
13041304
}
13051305
}
@@ -1394,7 +1394,7 @@ public JsonDeserializer<?> createCollectionDeserializer(DeserializationContext c
13941394
}
13951395
// allow post-processing it too
13961396
if (_factoryConfig.hasDeserializerModifiers()) {
1397-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1397+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
13981398
deser = mod.modifyCollectionDeserializer(config, type, beanDesc, deser);
13991399
}
14001400
}
@@ -1432,7 +1432,7 @@ public JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationConte
14321432
if (deser != null) {
14331433
// and then new with 2.2: ability to post-process it too (Issue#120)
14341434
if (_factoryConfig.hasDeserializerModifiers()) {
1435-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1435+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
14361436
deser = mod.modifyCollectionLikeDeserializer(config, type, beanDesc, deser);
14371437
}
14381438
}
@@ -1551,7 +1551,7 @@ public JsonDeserializer<?> createMapDeserializer(DeserializationContext ctxt,
15511551
}
15521552
}
15531553
if (_factoryConfig.hasDeserializerModifiers()) {
1554-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1554+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
15551555
deser = mod.modifyMapDeserializer(config, type, beanDesc, deser);
15561556
}
15571557
}
@@ -1599,7 +1599,7 @@ public JsonDeserializer<?> createMapLikeDeserializer(DeserializationContext ctxt
15991599
if (deser != null) {
16001600
// and then new with 2.2: ability to post-process it too (Issue#120)
16011601
if (_factoryConfig.hasDeserializerModifiers()) {
1602-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1602+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
16031603
deser = mod.modifyMapLikeDeserializer(config, type, beanDesc, deser);
16041604
}
16051605
}
@@ -1667,7 +1667,7 @@ public JsonDeserializer<?> createEnumDeserializer(DeserializationContext ctxt,
16671667

16681668
// and then post-process it too
16691669
if (_factoryConfig.hasDeserializerModifiers()) {
1670-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1670+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
16711671
deser = mod.modifyEnumDeserializer(config, type, beanDesc, deser);
16721672
}
16731673
}
@@ -1734,7 +1734,7 @@ public JsonDeserializer<?> createReferenceDeserializer(DeserializationContext ct
17341734
if (deser != null) {
17351735
// and then post-process
17361736
if (_factoryConfig.hasDeserializerModifiers()) {
1737-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1737+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
17381738
deser = mod.modifyReferenceDeserializer(config, type, beanDesc, deser);
17391739
}
17401740
}
@@ -1798,7 +1798,7 @@ public KeyDeserializer createKeyDeserializer(DeserializationContext ctxt,
17981798
// and then post-processing
17991799
if (deser != null) {
18001800
if (_factoryConfig.hasDeserializerModifiers()) {
1801-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
1801+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
18021802
deser = mod.modifyKeyDeserializer(config, type, deser);
18031803
}
18041804
}

Diff for: src/main/java/com/fasterxml/jackson/databind/deser/BeanDeserializerFactory.java

+9-9
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public JsonDeserializer<Object> createBeanDeserializer(DeserializationContext ct
100100
if (deser != null) {
101101
// [databind#2392]
102102
if (_factoryConfig.hasDeserializerModifiers()) {
103-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
103+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
104104
deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser);
105105
}
106106
}
@@ -181,7 +181,7 @@ protected JsonDeserializer<?> findStdDeserializer(DeserializationContext ctxt,
181181
// Also: better ensure these are post-processable?
182182
if (deser != null) {
183183
if (_factoryConfig.hasDeserializerModifiers()) {
184-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
184+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
185185
deser = mod.modifyDeserializer(ctxt.getConfig(), beanDesc, deser);
186186
}
187187
}
@@ -275,7 +275,7 @@ public JsonDeserializer<Object> buildBeanDeserializer(DeserializationContext ctx
275275

276276
final DeserializationConfig config = ctxt.getConfig();
277277
if (_factoryConfig.hasDeserializerModifiers()) {
278-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
278+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
279279
builder = mod.updateBuilder(config, beanDesc, builder);
280280
}
281281
}
@@ -289,7 +289,7 @@ public JsonDeserializer<Object> buildBeanDeserializer(DeserializationContext ctx
289289
// may have modifier(s) that wants to modify or replace serializer we just built
290290
// (note that `resolve()` and `createContextual()` called later on)
291291
if (_factoryConfig.hasDeserializerModifiers()) {
292-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
292+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
293293
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
294294
}
295295
}
@@ -346,7 +346,7 @@ protected JsonDeserializer<Object> buildBuilderBasedDeserializer(
346346
builder.setPOJOBuilder(buildMethod, builderConfig);
347347
// this may give us more information...
348348
if (_factoryConfig.hasDeserializerModifiers()) {
349-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
349+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
350350
builder = mod.updateBuilder(config, builderDesc, builder);
351351
}
352352
}
@@ -355,7 +355,7 @@ protected JsonDeserializer<Object> buildBuilderBasedDeserializer(
355355

356356
// [JACKSON-440]: may have modifier(s) that wants to modify or replace serializer we just built:
357357
if (_factoryConfig.hasDeserializerModifiers()) {
358-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
358+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
359359
deserializer = mod.modifyDeserializer(config, builderDesc, deserializer);
360360
}
361361
}
@@ -438,7 +438,7 @@ public JsonDeserializer<Object> buildThrowableDeserializer(DeserializationContex
438438

439439
// update builder now that all information is in?
440440
if (_factoryConfig.hasDeserializerModifiers()) {
441-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
441+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
442442
builder = mod.updateBuilder(config, beanDesc, builder);
443443
}
444444
}
@@ -453,7 +453,7 @@ public JsonDeserializer<Object> buildThrowableDeserializer(DeserializationContex
453453

454454
// may have modifier(s) that wants to modify or replace serializer we just built:
455455
if (_factoryConfig.hasDeserializerModifiers()) {
456-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
456+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
457457
deserializer = mod.modifyDeserializer(config, beanDesc, deserializer);
458458
}
459459
}
@@ -550,7 +550,7 @@ protected void addBeanProps(DeserializationContext ctxt,
550550
beanDesc, builder, beanDesc.findProperties(), ignored, included);
551551
// After which we can let custom code change the set
552552
if (_factoryConfig.hasDeserializerModifiers()) {
553-
for (BeanDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
553+
for (ValueDeserializerModifier mod : _factoryConfig.deserializerModifiers()) {
554554
propDefs = mod.updateProperties(ctxt.getConfig(), beanDesc, propDefs);
555555
}
556556
}

Diff for: src/main/java/com/fasterxml/jackson/databind/deser/DeserializerFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,9 @@ public abstract boolean hasExplicitDeserializerFor(DatabindContext ctxt,
162162

163163
/**
164164
* Convenience method for creating a new factory instance with additional
165-
* {@link BeanDeserializerModifier}.
165+
* {@link ValueDeserializerModifier}.
166166
*/
167-
public abstract DeserializerFactory withDeserializerModifier(BeanDeserializerModifier modifier);
167+
public abstract DeserializerFactory withDeserializerModifier(ValueDeserializerModifier modifier);
168168

169169
/**
170170
* Convenience method for creating a new factory instance with additional

0 commit comments

Comments
 (0)