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

Lines changed: 1 addition & 0 deletions
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

Lines changed: 7 additions & 5 deletions
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 3 additions & 3 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 3 additions & 3 deletions
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

Lines changed: 6 additions & 6 deletions
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

Lines changed: 2 additions & 2 deletions
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

Lines changed: 13 additions & 11 deletions
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);

0 commit comments

Comments
 (0)