Skip to content

Commit 8d9b6d7

Browse files
committed
use serializationContext var name
1 parent 2369fd2 commit 8d9b6d7

File tree

16 files changed

+98
-94
lines changed

16 files changed

+98
-94
lines changed

src/main/scala-3/tools/jackson/module/scala/ser/EnumSerializerModule.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ private object EnumSerializerShared {
1717
}
1818

1919
private object EnumSerializer extends ValueSerializer[Enum] {
20-
def serialize(value: Enum, jgen: JsonGenerator, provider: SerializationContext): Unit =
20+
def serialize(value: Enum, jgen: JsonGenerator, serializationContext: SerializationContext): Unit =
2121
jgen.writeString(value.toString)
2222
}
2323

2424
private object EnumKeySerializer extends ValueSerializer[Enum] {
25-
def serialize(value: Enum, jgen: JsonGenerator, provider: SerializationContext): Unit =
25+
def serialize(value: Enum, jgen: JsonGenerator, serializationContext: SerializationContext): Unit =
2626
jgen.writeName(value.toString)
2727
}
2828

src/main/scala/tools/jackson/module/scala/ser/EitherSerializer.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -95,37 +95,37 @@ private class EitherSerializer(left: EitherDetails,
9595
withResolved(propOpt, newLeft, newRight, newIncl)
9696
}
9797

98-
override def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializationContext): Unit = {
99-
serialize(value, jgen, provider, None)
98+
override def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, serializationContext: SerializationContext): Unit = {
99+
serialize(value, jgen, serializationContext, None)
100100
}
101101

102-
def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializationContext, vts: Option[TypeSerializer]): Unit = {
102+
def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, serializationContext: SerializationContext, vts: Option[TypeSerializer]): Unit = {
103103
val (field, content, details) = value match {
104104
case Left(c) => ("l", c, left)
105105
case Right(c) => ("r", c, right)
106106
}
107107
jgen.writeStartObject()
108108
jgen.writeName(field)
109109
if (content == null) {
110-
provider.defaultSerializeNullValue(jgen)
110+
serializationContext.defaultSerializeNullValue(jgen)
111111
} else {
112-
val ser = details.valueSerializer.getOrElse(findCachedSerializer(provider, content.getClass))
112+
val ser = details.valueSerializer.getOrElse(findCachedSerializer(serializationContext, content.getClass))
113113
vts.orElse(details.valueTypeSerializer) match {
114-
case Some(vts) => ser.serializeWithType(content, jgen, provider, vts)
115-
case None => ser.serialize(content, jgen, provider)
114+
case Some(vts) => ser.serializeWithType(content, jgen, serializationContext, vts)
115+
case None => ser.serialize(content, jgen, serializationContext)
116116
}
117117
}
118118
jgen.writeEndObject()
119119
}
120120

121-
override def serializeWithType(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
121+
override def serializeWithType(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, serializationContext: SerializationContext, typeSer: TypeSerializer): Unit = {
122122
if (value == null) {
123-
provider.defaultSerializeNullValue(jgen)
123+
serializationContext.defaultSerializeNullValue(jgen)
124124
} else {
125125
// Otherwise apply type-prefix/suffix, then std serialize:
126-
typeSer.writeTypePrefix(jgen, provider, typeSer.typeId(value, JsonToken.START_OBJECT))
127-
serialize(value, jgen, provider, Some(typeSer))
128-
typeSer.writeTypeSuffix(jgen, provider, typeSer.typeId(value, JsonToken.END_OBJECT))
126+
typeSer.writeTypePrefix(jgen, serializationContext, typeSer.typeId(value, JsonToken.START_OBJECT))
127+
serialize(value, jgen, serializationContext, Some(typeSer))
128+
typeSer.writeTypeSuffix(jgen, serializationContext, typeSer.typeId(value, JsonToken.END_OBJECT))
129129
}
130130
}
131131

src/main/scala/tools/jackson/module/scala/ser/EnumerationSerializerModule.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ trait ContextualEnumerationSerializer {
2424
* http://jira.codehaus.org/browse/JACKSON-211
2525
*/
2626
private class EnumerationSerializer extends ValueSerializer[scala.Enumeration#Value] with ContextualEnumerationSerializer {
27-
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, provider: SerializationContext) = {
27+
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, serializationContext: SerializationContext) = {
2828
val parentEnum = value.asInstanceOf[AnyRef].getClass.getSuperclass.getDeclaredFields.find( f => f.getName == "$outer" )
2929
.getOrElse(throw new RuntimeException("failed to find $outer field on Enumeration class"))
3030
val enumClass = parentEnum.get(value).getClass.getName stripSuffix "$"
@@ -36,8 +36,8 @@ private class EnumerationSerializer extends ValueSerializer[scala.Enumeration#Va
3636
}
3737

3838
private class AnnotatedEnumerationSerializer extends ValueSerializer[scala.Enumeration#Value] with ContextualEnumerationSerializer {
39-
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, provider: SerializationContext): Unit = {
40-
provider.writeValue(jgen, value.toString)
39+
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, serializationContext: SerializationContext): Unit = {
40+
serializationContext.writeValue(jgen, value.toString)
4141
}
4242
}
4343

src/main/scala/tools/jackson/module/scala/ser/IterableSerializerModule.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,18 +23,18 @@ private trait IterableSerializer
2323
override def hasSingleElement(value: collection.Iterable[Any]): Boolean =
2424
value.size == 1
2525

26-
override def serialize(value: collection.Iterable[Any], gen: JsonGenerator, provider: SerializationContext): Unit = {
27-
if (provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
28-
collectionSerializer.serializeContents(value, gen, provider)
26+
override def serialize(value: collection.Iterable[Any], gen: JsonGenerator, serializationContext: SerializationContext): Unit = {
27+
if (serializationContext.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
28+
collectionSerializer.serializeContents(value, gen, serializationContext)
2929
} else {
3030
gen.writeStartArray(value)
31-
collectionSerializer.serializeContents(value, gen, provider)
31+
collectionSerializer.serializeContents(value, gen, serializationContext)
3232
gen.writeEndArray()
3333
}
3434
}
3535

36-
override def serializeContents(value: collection.Iterable[Any], gen: JsonGenerator, provider: SerializationContext): Unit = {
37-
serialize(value, gen, provider)
36+
override def serializeContents(value: collection.Iterable[Any], gen: JsonGenerator, serializationContext: SerializationContext): Unit = {
37+
serialize(value, gen, serializationContext)
3838
}
3939

4040
override def withResolved(property: BeanProperty,
@@ -43,7 +43,7 @@ private trait IterableSerializer
4343
unwrapSingle: jl.Boolean): ResolvedIterableSerializer =
4444
new ResolvedIterableSerializer(this, property, vts, elementSerializer, unwrapSingle)
4545

46-
override def isEmpty(provider: SerializationContext, value: collection.Iterable[Any]): Boolean = value.isEmpty
46+
override def isEmpty(serializationContext: SerializationContext, value: collection.Iterable[Any]): Boolean = value.isEmpty
4747
}
4848

4949
private class ResolvedIterableSerializer( src: IterableSerializer,

src/main/scala/tools/jackson/module/scala/ser/IteratorSerializerModule.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,25 +23,25 @@ private trait IteratorSerializer
2323
override def hasSingleElement(p1: collection.Iterator[Any]): Boolean =
2424
p1.size == 1
2525

26-
override def serialize(value: collection.Iterator[Any], jgen: JsonGenerator, provider: SerializationContext): Unit = {
27-
if (provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
28-
iteratorSerializer.serializeContents(value, jgen, provider)
26+
override def serialize(value: collection.Iterator[Any], jgen: JsonGenerator, serializationContext: SerializationContext): Unit = {
27+
if (serializationContext.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
28+
iteratorSerializer.serializeContents(value, jgen, serializationContext)
2929
} else {
3030
jgen.writeStartArray(value)
31-
iteratorSerializer.serializeContents(value, jgen, provider)
31+
iteratorSerializer.serializeContents(value, jgen, serializationContext)
3232
jgen.writeEndArray()
3333
}
3434
}
3535

36-
override def serializeContents(value: collection.Iterator[Any], gen: JsonGenerator, provider: SerializationContext): Unit = {
37-
serialize(value, gen, provider)
36+
override def serializeContents(value: collection.Iterator[Any], gen: JsonGenerator, serializationContext: SerializationContext): Unit = {
37+
serialize(value, gen, serializationContext)
3838
}
3939

4040
override def withResolved(property: BeanProperty, vts: TypeSerializer, elementSerializer: ValueSerializer[_], unwrapSingle: jl.Boolean) =
4141
new ResolvedIteratorSerializer(this, property, vts, elementSerializer, unwrapSingle)
4242

4343

44-
override def isEmpty(provider: SerializationContext, value: collection.Iterator[Any]): Boolean = value.hasNext
44+
override def isEmpty(serializationContext: SerializationContext, value: collection.Iterator[Any]): Boolean = value.hasNext
4545
}
4646

4747
private class ResolvedIteratorSerializer( src: IteratorSerializer,

src/main/scala/tools/jackson/module/scala/ser/OptionSerializerModule.scala

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import scala.util.control.Breaks.{break, breakable}
2121
// This is still here because it is used in other places like EitherSerializer, it is no
2222
// longer used for the Option serializer
2323
object OptionSerializer {
24-
def useStatic(provider: SerializationContext, property: Option[BeanProperty], referredType: Option[JavaType]): Boolean = {
24+
def useStatic(serializationContext: SerializationContext, property: Option[BeanProperty], referredType: Option[JavaType]): Boolean = {
2525
if (referredType.isEmpty) false
2626
// First: no serializer for `Object.class`, must be dynamic
2727
else if (referredType.get.isJavaLangObject) false
@@ -35,9 +35,9 @@ object OptionSerializer {
3535
breakable {
3636
for (
3737
ann <- property.flatMap(p => Option(p.getMember));
38-
intr <- Option(provider.getAnnotationIntrospector)
38+
intr <- Option(serializationContext.getAnnotationIntrospector)
3939
) {
40-
val typing = intr.findSerializationTyping(provider.getConfig, ann)
40+
val typing = intr.findSerializationTyping(serializationContext.getConfig, ann)
4141
if (typing == JsonSerialize.Typing.STATIC) {
4242
result = Some(true)
4343
break()
@@ -52,27 +52,27 @@ object OptionSerializer {
5252
case Some(bool) => bool
5353
case _ =>
5454
// and finally, may be forced by global static typing (unlikely...)
55-
provider.isEnabled(MapperFeature.USE_STATIC_TYPING)
55+
serializationContext.isEnabled(MapperFeature.USE_STATIC_TYPING)
5656
}
5757
}
5858
}
5959

60-
def findSerializer(provider: SerializationContext, typ: Class[_], prop: Option[BeanProperty]): ValueSerializer[AnyRef] = {
60+
def findSerializer(serializationContext: SerializationContext, typ: Class[_], prop: Option[BeanProperty]): ValueSerializer[AnyRef] = {
6161
// Important: ask for TYPED serializer, in case polymorphic handling is needed!
62-
provider.findTypedValueSerializer(typ, true).asInstanceOf[ValueSerializer[AnyRef]]
62+
serializationContext.findTypedValueSerializer(typ, true).asInstanceOf[ValueSerializer[AnyRef]]
6363
}
6464

65-
def findSerializer(provider: SerializationContext, typ: JavaType, prop: Option[BeanProperty]): ValueSerializer[AnyRef] = {
65+
def findSerializer(serializationContext: SerializationContext, typ: JavaType, prop: Option[BeanProperty]): ValueSerializer[AnyRef] = {
6666
// Important: ask for TYPED serializer, in case polymorphic handling is needed!
67-
provider.findTypedValueSerializer(typ, true).asInstanceOf[ValueSerializer[AnyRef]]
67+
serializationContext.findTypedValueSerializer(typ, true).asInstanceOf[ValueSerializer[AnyRef]]
6868
}
6969

70-
def hasContentTypeAnnotation(provider: SerializationContext, property: BeanProperty): Boolean = {
71-
val intr = provider.getAnnotationIntrospector
70+
def hasContentTypeAnnotation(serializationContext: SerializationContext, property: BeanProperty): Boolean = {
71+
val intr = serializationContext.getAnnotationIntrospector
7272
if (property == null || intr == null) {
7373
false
7474
} else {
75-
intr.refineSerializationType(provider.getConfig, property.getMember, property.getType) != null
75+
intr.refineSerializationType(serializationContext.getConfig, property.getMember, property.getType) != null
7676
}
7777
}
7878
}

src/main/scala/tools/jackson/module/scala/ser/ScalaIterableSerializer.scala

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -25,21 +25,21 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
2525

2626
override def hasSingleElement(value: Iterable[Any]): Boolean = value.size == 1
2727

28-
override def serialize(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
29-
if (((_unwrapSingle == null && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED))
28+
override def serialize(value: Iterable[Any], g: JsonGenerator, serializationContext: SerializationContext): Unit = {
29+
if (((_unwrapSingle == null && serializationContext.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED))
3030
|| _unwrapSingle) && hasSingleElement(value)) {
31-
serializeContents(value, g, provider)
31+
serializeContents(value, g, serializationContext)
3232
} else {
3333
g.writeStartArray(value)
34-
serializeContents(value, g, provider)
34+
serializeContents(value, g, serializationContext)
3535
g.writeEndArray()
3636
}
3737
}
3838

39-
override def serializeContents(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
39+
override def serializeContents(value: Iterable[Any], g: JsonGenerator, serializationContext: SerializationContext): Unit = {
4040
g.assignCurrentValue(value)
4141
if (_elementSerializer != null) {
42-
serializeContentsUsing(value, g, provider, _elementSerializer)
42+
serializeContentsUsing(value, g, serializationContext, _elementSerializer)
4343
} else {
4444
val it = value.iterator
4545
if (it.hasNext) {
@@ -48,23 +48,25 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
4848
var i = 0
4949
try while (it.hasNext) {
5050
val elem = it.next()
51-
if (elem == null) provider.defaultSerializeNullValue(g)
51+
if (elem == null) serializationContext.defaultSerializeNullValue(g)
5252
else {
5353
val cc = elem.getClass
5454
var serializer = serializers.serializerFor(cc)
5555
if (serializer == null) {
56-
if (_elementType.hasGenericTypes) serializer = _findAndAddDynamic(provider, provider.constructSpecializedType(_elementType, cc))
57-
else serializer = _findAndAddDynamic(provider, cc)
56+
if (_elementType.hasGenericTypes)
57+
serializer = _findAndAddDynamic(serializationContext, serializationContext.constructSpecializedType(_elementType, cc))
58+
else
59+
serializer = _findAndAddDynamic(serializationContext, cc)
5860
serializers = _dynamicValueSerializers
5961
}
60-
if (typeSer == null) serializer.serialize(elem.asInstanceOf[Object], g, provider)
61-
else serializer.serializeWithType(elem.asInstanceOf[Object], g, provider, typeSer)
62+
if (typeSer == null) serializer.serialize(elem.asInstanceOf[Object], g, serializationContext)
63+
else serializer.serializeWithType(elem.asInstanceOf[Object], g, serializationContext, typeSer)
6264
}
6365
i += 1
6466
}
6567
catch {
6668
case NonFatal(e) =>
67-
wrapAndThrow(provider, e, value, i)
69+
wrapAndThrow(serializationContext, e, value, i)
6870
}
6971
}
7072
}
@@ -79,21 +81,21 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
7981
new ScalaIterableSerializer(this, _property, vts, _elementSerializer, _unwrapSingle)
8082
}
8183

82-
private def serializeContentsUsing(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext, ser: ValueSerializer[AnyRef]): Unit = {
84+
private def serializeContentsUsing(value: Iterable[Any], g: JsonGenerator, serializationContext: SerializationContext, ser: ValueSerializer[AnyRef]): Unit = {
8385
val it = value.iterator
8486
if (it.hasNext) {
8587
val typeSer = _valueTypeSerializer
8688
var i = 0
8789
while (it.hasNext) {
8890
val elem = it.next()
8991
try {
90-
if (elem == null) provider.defaultSerializeNullValue(g)
91-
else if (typeSer == null) ser.serialize(elem.asInstanceOf[Object], g, provider)
92-
else ser.serializeWithType(elem.asInstanceOf[Object], g, provider, typeSer)
92+
if (elem == null) serializationContext.defaultSerializeNullValue(g)
93+
else if (typeSer == null) ser.serialize(elem.asInstanceOf[Object], g, serializationContext)
94+
else ser.serializeWithType(elem.asInstanceOf[Object], g, serializationContext, typeSer)
9395
i += 1
9496
} catch {
9597
case NonFatal(e) =>
96-
wrapAndThrow(provider, e, value, i)
98+
wrapAndThrow(serializationContext, e, value, i)
9799
}
98100
}
99101
}

0 commit comments

Comments
 (0)