Skip to content

Commit c59045b

Browse files
committed
Fix #3046 (JsonSerializable -> JacksonSerializable)
1 parent 3c1f3af commit c59045b

20 files changed

+67
-62
lines changed

release-notes/VERSION

+1
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,6 @@ Versions: 3.x (for earlier see VERSION-2.x)
4545
#3028: Change `UUIDSerializer` to use `StreamWriteCapability` check instead of
4646
`JsonGenerator.canWriteBinaryNatively()`
4747
#3037: Rename `Module` as `JacksonModule` in 3.0 (to avoid overlap with `java.lang.Module`)
48+
#3046: Rename `JsonSerializable` as `JacksonSerializable` in 3.0
4849
- Remove `MappingJsonFactory`
4950
- Add context parameter for `TypeSerializer` contextualization (`forProperty()`)

src/main/java/com/fasterxml/jackson/databind/JsonSerializable.java renamed to src/main/java/com/fasterxml/jackson/databind/JacksonSerializable.java

+7-5
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@
1313
* so -- if class is a bean, it can be serialized without
1414
* implementing this interface.
1515
*<p>
16-
* Note that while it is possible to just directly implement {@link JsonSerializable},
16+
* Note that while it is possible to just directly implement {@link JacksonSerializable},
1717
* actual implementations are strongly recommended to instead extend
18-
* {@link JsonSerializable.Base}.
18+
* {@link JacksonSerializable.Base}.
19+
*<p>
20+
* NOTE: in Jackson 2.x this type was named {@code JsonSerializable}
1921
*/
20-
public interface JsonSerializable
22+
public interface JacksonSerializable
2123
{
2224
/**
2325
* Serialization method called when no additional type information is
@@ -47,9 +49,9 @@ public void serializeWithType(JsonGenerator gen, SerializerProvider serializers,
4749
* Base class with minimal implementation, as well as couple of extension methods
4850
* that core Jackson databinding makes use of.
4951
* Use of this base class is strongly recommended over directly implementing
50-
* {@link JsonSerializable}.
52+
* {@link JacksonSerializable}.
5153
*/
52-
public abstract static class Base implements JsonSerializable
54+
public abstract static class Base implements JacksonSerializable
5355
{
5456
/**
5557
* Method that may be called on instance to determine if it is considered

src/main/java/com/fasterxml/jackson/databind/JsonNode.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
* and {@link ObjectMapper#treeAsTokens(TreeNode)}
3737
*/
3838
public abstract class JsonNode
39-
extends JsonSerializable.Base // i.e. implements JsonSerializable
39+
extends JacksonSerializable.Base // i.e. implements JacksonSerializable
4040
implements TreeNode, Iterable<JsonNode>
4141
{
4242
/*

src/main/java/com/fasterxml/jackson/databind/node/ArrayNode.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public ArrayNode deepCopy()
6363

6464
/*
6565
/**********************************************************
66-
/* Overrides for JsonSerializable.Base
66+
/* Overrides for JacksonSerializable.Base
6767
/**********************************************************
6868
*/
6969

@@ -169,7 +169,7 @@ public void serialize(JsonGenerator f, SerializerProvider provider)
169169
final int size = c.size();
170170
f.writeStartArray(this, size);
171171
for (int i = 0; i < size; ++i) { // we'll typically have array list
172-
// For now, assuming it's either BaseJsonNode, JsonSerializable
172+
// For now, assuming it's either BaseJsonNode, JacksonSerializable
173173
JsonNode n = c.get(i);
174174
((BaseJsonNode) n).serialize(f, provider);
175175
}

src/main/java/com/fasterxml/jackson/databind/node/BaseJsonNode.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.fasterxml.jackson.core.*;
44
import com.fasterxml.jackson.databind.JsonNode;
5-
import com.fasterxml.jackson.databind.JsonSerializable;
5+
import com.fasterxml.jackson.databind.JacksonSerializable;
66
import com.fasterxml.jackson.databind.SerializerProvider;
77
import com.fasterxml.jackson.databind.json.JsonMapper;
88
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
@@ -11,7 +11,7 @@
1111
* Abstract base class common to all standard {@link JsonNode}
1212
* implementations.
1313
* The main addition here is that we declare that sub-classes must
14-
* implement {@link JsonSerializable}.
14+
* implement {@link JacksonSerializable}.
1515
* This simplifies object mapping aspects a bit, as no external serializers are needed.
1616
*<p>
1717
* Note that support for {@link java.io.Serializable} is added here and so all subtypes
@@ -113,7 +113,7 @@ public JsonParser.NumberType numberType() {
113113

114114
/*
115115
/**********************************************************
116-
/* JsonSerializable
116+
/* JacksonSerializable
117117
/**********************************************************
118118
*/
119119

src/main/java/com/fasterxml/jackson/databind/node/ObjectNode.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public ObjectNode deepCopy()
5757

5858
/*
5959
/**********************************************************
60-
/* Overrides for JsonSerializable.Base
60+
/* Overrides for JacksonSerializable.Base
6161
/**********************************************************
6262
*/
6363

@@ -307,7 +307,7 @@ public void serialize(JsonGenerator g, SerializerProvider provider)
307307
for (Map.Entry<String, JsonNode> en : _children.entrySet()) {
308308
/* 17-Feb-2009, tatu: Can we trust that all nodes will always
309309
* extend BaseJsonNode? Or if not, at least implement
310-
* JsonSerializable? Let's start with former, change if
310+
* JacksonSerializable? Let's start with former, change if
311311
* we must.
312312
*/
313313
BaseJsonNode value = (BaseJsonNode) en.getValue();

src/main/java/com/fasterxml/jackson/databind/node/POJONode.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.fasterxml.jackson.core.*;
44

5-
import com.fasterxml.jackson.databind.JsonSerializable;
5+
import com.fasterxml.jackson.databind.JacksonSerializable;
66
import com.fasterxml.jackson.databind.SerializerProvider;
77

88
/**
@@ -109,8 +109,8 @@ public final void serialize(JsonGenerator gen, SerializerProvider ctxt) throws J
109109
{
110110
if (_value == null) {
111111
ctxt.defaultSerializeNullValue(gen);
112-
} else if (_value instanceof JsonSerializable) {
113-
((JsonSerializable) _value).serialize(gen, ctxt);
112+
} else if (_value instanceof JacksonSerializable) {
113+
((JacksonSerializable) _value).serialize(gen, ctxt);
114114
} else {
115115
// 25-May-2018, tatu: [databind#1991] do not call via generator but through context;
116116
// this to preserve contextual information

src/main/java/com/fasterxml/jackson/databind/ser/BasicSerializerFactory.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
import com.fasterxml.jackson.databind.introspect.*;
3030
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
3131
import com.fasterxml.jackson.databind.ser.jackson.JsonValueSerializer;
32-
import com.fasterxml.jackson.databind.ser.jackson.JsonSerializableSerializer;
32+
import com.fasterxml.jackson.databind.ser.jackson.JacksonSerializableSerializer;
3333
import com.fasterxml.jackson.databind.ser.jdk.*;
3434
import com.fasterxml.jackson.databind.ser.std.*;
3535
import com.fasterxml.jackson.databind.type.*;
@@ -296,12 +296,12 @@ protected final JsonSerializer<?> findSerializerByLookup(JavaType type,
296296

297297
/**
298298
* Method called to see if one of primary per-class annotations
299-
* (or related, like implementing of {@link JsonSerializable})
299+
* (or related, like implementing of {@link JacksonSerializable})
300300
* determines the serializer to use.
301301
*<p>
302302
* Currently handles things like:
303303
*<ul>
304-
* <li>If type implements {@link JsonSerializable}, use that
304+
* <li>If type implements {@link JacksonSerializable}, use that
305305
* </li>
306306
* <li>If type has {@link com.fasterxml.jackson.annotation.JsonValue} annotation (or equivalent), build serializer
307307
* based on that property
@@ -312,9 +312,9 @@ protected final JsonSerializer<?> findSerializerByAnnotations(SerializerProvider
312312
JavaType type, BeanDescription beanDesc)
313313
{
314314
Class<?> raw = type.getRawClass();
315-
// First: JsonSerializable?
316-
if (JsonSerializable.class.isAssignableFrom(raw)) {
317-
return JsonSerializableSerializer.instance;
315+
// First: serializable by Jackson-specific interface?
316+
if (JacksonSerializable.class.isAssignableFrom(raw)) {
317+
return JacksonSerializableSerializer.instance;
318318
}
319319
// Second: @JsonValue for any type
320320
AnnotatedMember valueAccessor = beanDesc.findJsonValueAccessor();

src/main/java/com/fasterxml/jackson/databind/ser/BeanSerializerFactory.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ protected JsonSerializer<?> _createSerializer2(SerializerProvider ctxt,
204204
}
205205
}
206206
}
207-
// 25-Jun-2015, tatu: Then JsonSerializable, @JsonValue etc. NOTE! Prior to 2.6,
207+
// 25-Jun-2015, tatu: Then JacksonSerializable, @JsonValue etc. NOTE! Prior to 2.6,
208208
// this call was BEFORE custom serializer lookup, which was wrong.
209209
if (ser == null) {
210210
ser = findSerializerByAnnotations(ctxt, type, beanDesc);
@@ -213,7 +213,7 @@ protected JsonSerializer<?> _createSerializer2(SerializerProvider ctxt,
213213

214214
if (ser == null) {
215215
// Otherwise, we will check "primary types"; both marker types that
216-
// indicate specific handling (JsonSerializable), or main types that have
216+
// indicate specific handling (JacksonSerializable), or main types that have
217217
// precedence over container types
218218
ser = findSerializerByLookup(type, config, beanDesc, formatOverrides, staticTyping);
219219
if (ser == null) {

src/main/java/com/fasterxml/jackson/databind/ser/jackson/JsonSerializableSerializer.java renamed to src/main/java/com/fasterxml/jackson/databind/ser/jackson/JacksonSerializableSerializer.java

+13-11
Original file line numberDiff line numberDiff line change
@@ -3,44 +3,46 @@
33
import com.fasterxml.jackson.core.*;
44

55
import com.fasterxml.jackson.databind.JavaType;
6-
import com.fasterxml.jackson.databind.JsonSerializable;
6+
import com.fasterxml.jackson.databind.JacksonSerializable;
77
import com.fasterxml.jackson.databind.SerializerProvider;
88
import com.fasterxml.jackson.databind.annotation.JacksonStdImpl;
99
import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper;
1010
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
1111
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
1212

1313
/**
14-
* Generic handler for types that implement {@link JsonSerializable}.
14+
* Generic handler for types that implement {@link JacksonSerializable}.
1515
*<p>
1616
* Note: given that this is used for anything that implements
1717
* interface, cannot be checked for direct class equivalence.
18+
*<p>
19+
* NOTE: in Jackson 2.x was named {@code JsonSerializableSerializer}
1820
*/
1921
@JacksonStdImpl
20-
public class JsonSerializableSerializer
21-
extends StdSerializer<JsonSerializable>
22+
public class JacksonSerializableSerializer
23+
extends StdSerializer<JacksonSerializable>
2224
{
23-
public final static JsonSerializableSerializer instance = new JsonSerializableSerializer();
25+
public final static JacksonSerializableSerializer instance = new JacksonSerializableSerializer();
2426

25-
protected JsonSerializableSerializer() { super(JsonSerializable.class); }
27+
protected JacksonSerializableSerializer() { super(JacksonSerializable.class); }
2628

2729
@Override
28-
public boolean isEmpty(SerializerProvider serializers, JsonSerializable value) {
29-
if (value instanceof JsonSerializable.Base) {
30-
return ((JsonSerializable.Base) value).isEmpty(serializers);
30+
public boolean isEmpty(SerializerProvider serializers, JacksonSerializable value) {
31+
if (value instanceof JacksonSerializable.Base) {
32+
return ((JacksonSerializable.Base) value).isEmpty(serializers);
3133
}
3234
return false;
3335
}
3436

3537
@Override
36-
public void serialize(JsonSerializable value, JsonGenerator gen, SerializerProvider serializers)
38+
public void serialize(JacksonSerializable value, JsonGenerator gen, SerializerProvider serializers)
3739
throws JacksonException
3840
{
3941
value.serialize(gen, serializers);
4042
}
4143

4244
@Override
43-
public final void serializeWithType(JsonSerializable value, JsonGenerator gen, SerializerProvider serializers,
45+
public final void serializeWithType(JacksonSerializable value, JsonGenerator gen, SerializerProvider serializers,
4446
TypeSerializer typeSer) throws JacksonException
4547
{
4648
value.serializeWithType(gen, serializers, typeSer);

src/main/java/com/fasterxml/jackson/databind/ser/jackson/TokenBufferSerializer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
/**
1515
* We also want to directly support serialization of {@link TokenBuffer};
1616
* and since it is part of core package, it cannot implement
17-
* {@link com.fasterxml.jackson.databind.JsonSerializable}
17+
* {@link com.fasterxml.jackson.databind.JacksonSerializable}
1818
* (which is only included in the mapper package)
1919
*/
2020
@JacksonStdImpl

src/main/java/com/fasterxml/jackson/databind/type/TypeBase.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
public abstract class TypeBase
1414
extends JavaType
15-
implements JsonSerializable
15+
implements JacksonSerializable
1616
{
1717
private static final long serialVersionUID = 1;
1818

@@ -148,7 +148,7 @@ public JavaType[] findTypeParameters(Class<?> expType)
148148

149149
/*
150150
/**********************************************************
151-
/* JsonSerializable base implementation
151+
/* JacksonSerializable base implementation
152152
/**********************************************************
153153
*/
154154

src/main/java/com/fasterxml/jackson/databind/util/JSONPObject.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* @see com.fasterxml.jackson.databind.util.JSONWrappedObject
1515
*/
1616
public class JSONPObject
17-
implements JsonSerializable
17+
implements JacksonSerializable
1818
{
1919
/**
2020
* JSONP function name to use for serialization
@@ -46,9 +46,9 @@ public JSONPObject(String function, Object value, JavaType asType)
4646
}
4747

4848
/*
49-
/**********************************************************
50-
/* JsonSerializable(WithType) implementation
51-
/**********************************************************
49+
/**********************************************************************
50+
/* JacksonSerializable implementation
51+
/**********************************************************************
5252
*/
5353

5454
@Override
@@ -94,9 +94,9 @@ public void serialize(JsonGenerator gen, SerializerProvider provider)
9494
}
9595

9696
/*
97-
/**************************************************************
97+
/**********************************************************************
9898
/* Accessors
99-
/**************************************************************
99+
/**********************************************************************
100100
*/
101101

102102
public String getFunction() { return _function; }

src/main/java/com/fasterxml/jackson/databind/util/JSONWrappedObject.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
*
1414
* @see com.fasterxml.jackson.databind.util.JSONPObject
1515
*/
16-
public class JSONWrappedObject implements JsonSerializable
16+
public class JSONWrappedObject implements JacksonSerializable
1717
{
1818
/**
1919
* Literal String to output before serialized value.
@@ -59,7 +59,7 @@ public JSONWrappedObject(String prefix, String suffix, Object value, JavaType as
5959

6060
/*
6161
/**********************************************************************
62-
/* JsonSerializable implementation
62+
/* JacksonSerializable implementation
6363
/**********************************************************************
6464
*/
6565

src/main/java/com/fasterxml/jackson/databind/util/RawValue.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.fasterxml.jackson.core.JsonGenerator;
55
import com.fasterxml.jackson.core.SerializableString;
66

7-
import com.fasterxml.jackson.databind.JsonSerializable;
7+
import com.fasterxml.jackson.databind.JacksonSerializable;
88
import com.fasterxml.jackson.databind.SerializerProvider;
99
import com.fasterxml.jackson.databind.jsontype.TypeSerializer;
1010

@@ -16,11 +16,11 @@
1616
* ({@link com.fasterxml.jackson.databind.JsonNode})
1717
*/
1818
public class RawValue
19-
implements JsonSerializable
19+
implements JacksonSerializable
2020
{
2121
/**
2222
* Contents to serialize. Untyped because there are multiple types that are
23-
* supported: {@link java.lang.String}, {@link JsonSerializable}, {@link SerializableString}.
23+
* supported: {@link java.lang.String}, {@link JacksonSerializable}, {@link SerializableString}.
2424
*/
2525
protected Object _value;
2626

@@ -32,7 +32,7 @@ public RawValue(SerializableString v) {
3232
_value = v;
3333
}
3434

35-
public RawValue(JsonSerializable v) {
35+
public RawValue(JacksonSerializable v) {
3636
_value = v;
3737
}
3838

@@ -49,7 +49,7 @@ protected RawValue(Object value, boolean bogus) {
4949

5050
/**
5151
* Accessor for returning enclosed raw value in whatever form it was created in
52-
* (usually {@link java.lang.String}, {link SerializableString}, or any {@link JsonSerializable}).
52+
* (usually {@link java.lang.String}, {link SerializableString}, or any {@link JacksonSerializable}).
5353
*/
5454
public Object rawValue() {
5555
return _value;
@@ -58,8 +58,8 @@ public Object rawValue() {
5858
@Override
5959
public void serialize(JsonGenerator gen, SerializerProvider serializers) throws JacksonException
6060
{
61-
if (_value instanceof JsonSerializable) {
62-
((JsonSerializable) _value).serialize(gen, serializers);
61+
if (_value instanceof JacksonSerializable) {
62+
((JacksonSerializable) _value).serialize(gen, serializers);
6363
} else {
6464
_serialize(gen);
6565
}
@@ -69,8 +69,8 @@ public void serialize(JsonGenerator gen, SerializerProvider serializers) throws
6969
public void serializeWithType(JsonGenerator gen, SerializerProvider serializers,
7070
TypeSerializer typeSer) throws JacksonException
7171
{
72-
if (_value instanceof JsonSerializable) {
73-
((JsonSerializable) _value).serializeWithType(gen, serializers, typeSer);
72+
if (_value instanceof JacksonSerializable) {
73+
((JacksonSerializable) _value).serializeWithType(gen, serializers, typeSer);
7474
} else if (_value instanceof SerializableString) {
7575
/* Since these are not really to be deserialized (with or without type info),
7676
* just re-route as regular write, which will create one... hopefully it works
@@ -81,7 +81,7 @@ public void serializeWithType(JsonGenerator gen, SerializerProvider serializers,
8181

8282
public void serialize(JsonGenerator gen) throws JacksonException
8383
{
84-
if (_value instanceof JsonSerializable) {
84+
if (_value instanceof JacksonSerializable) {
8585
// No SerializerProvider passed, must go via generator, callback
8686
gen.writePOJO(_value);
8787
} else {

0 commit comments

Comments
 (0)