Skip to content

Commit 2369fd2

Browse files
committed
SerializationContext
1 parent 6fbd841 commit 2369fd2

File tree

17 files changed

+55
-55
lines changed

17 files changed

+55
-55
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: SerializerProvider): Unit =
20+
def serialize(value: Enum, jgen: JsonGenerator, provider: SerializationContext): Unit =
2121
jgen.writeString(value.toString)
2222
}
2323

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

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ private class EitherSerializer(left: EitherDetails,
4646
else new EitherSerializer(newLeft, newRight, prop, contentIncl, dynamicSerializers)
4747
}
4848

49-
protected[this] def createContextualDetails(prov: SerializerProvider,
49+
protected[this] def createContextualDetails(prov: SerializationContext,
5050
prop: BeanProperty,
5151
details: EitherDetails): EitherDetails = {
5252
val vts = details.valueTypeSerializer.optMap(_.forProperty(prov, prop))
@@ -76,7 +76,7 @@ private class EitherSerializer(left: EitherDetails,
7676
details.copy(valueTypeSerializer = vts, valueSerializer = serializerOption)
7777
}
7878

79-
override def createContextual(prov: SerializerProvider, prop: BeanProperty): ValueSerializer[_] = {
79+
override def createContextual(prov: SerializationContext, prop: BeanProperty): ValueSerializer[_] = {
8080
val propOpt = Option(prop)
8181

8282
val newLeft = createContextualDetails(prov, prop, left)
@@ -95,11 +95,11 @@ private class EitherSerializer(left: EitherDetails,
9595
withResolved(propOpt, newLeft, newRight, newIncl)
9696
}
9797

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

102-
def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializerProvider, vts: Option[TypeSerializer]): Unit = {
102+
def serialize(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: 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)
@@ -118,7 +118,7 @@ private class EitherSerializer(left: EitherDetails,
118118
jgen.writeEndObject()
119119
}
120120

121-
override def serializeWithType(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializerProvider, typeSer: TypeSerializer): Unit = {
121+
override def serializeWithType(value: Either[AnyRef, AnyRef], jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
122122
if (value == null) {
123123
provider.defaultSerializeNullValue(jgen)
124124
} else {
@@ -129,7 +129,7 @@ private class EitherSerializer(left: EitherDetails,
129129
}
130130
}
131131

132-
protected[this] def findCachedSerializer(prov: SerializerProvider, typ: Class[_]): ValueSerializer[AnyRef] = {
132+
protected[this] def findCachedSerializer(prov: SerializationContext, typ: Class[_]): ValueSerializer[AnyRef] = {
133133
var ser = dynamicSerializers.serializerFor(typ).asInstanceOf[ValueSerializer[AnyRef]]
134134
if (ser == null) {
135135
ser = findSerializer(prov, typ, property)

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import tools.jackson.module.scala.{JacksonModule, JsonScalaEnumeration, ScalaMod
1212
trait ContextualEnumerationSerializer {
1313
self: ValueSerializer[_] =>
1414

15-
override def createContextual(serializerProvider: SerializerProvider, beanProperty: BeanProperty): ValueSerializer[_] =
15+
override def createContextual(SerializationContext: SerializationContext, beanProperty: BeanProperty): ValueSerializer[_] =
1616
Option(beanProperty)
1717
.optMap(_.getAnnotation(classOf[JsonScalaEnumeration]))
1818
.map(_ => new AnnotatedEnumerationSerializer)
@@ -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: SerializerProvider) = {
27+
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, provider: 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,7 +36,7 @@ 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: SerializerProvider): Unit = {
39+
override def serialize(value: scala.Enumeration#Value, jgen: JsonGenerator, provider: SerializationContext): Unit = {
4040
provider.writeValue(jgen, value.toString)
4141
}
4242
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ 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: SerializerProvider): Unit = {
26+
override def serialize(value: collection.Iterable[Any], gen: JsonGenerator, provider: SerializationContext): Unit = {
2727
if (provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
2828
collectionSerializer.serializeContents(value, gen, provider)
2929
} else {
@@ -33,7 +33,7 @@ private trait IterableSerializer
3333
}
3434
}
3535

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

@@ -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: SerializerProvider, value: collection.Iterable[Any]): Boolean = value.isEmpty
46+
override def isEmpty(provider: 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: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ 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: SerializerProvider): Unit = {
26+
override def serialize(value: collection.Iterator[Any], jgen: JsonGenerator, provider: SerializationContext): Unit = {
2727
if (provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED) && hasSingleElement(value)) {
2828
iteratorSerializer.serializeContents(value, jgen, provider)
2929
} else {
@@ -33,15 +33,15 @@ private trait IteratorSerializer
3333
}
3434
}
3535

36-
override def serializeContents(value: collection.Iterator[Any], gen: JsonGenerator, provider: SerializerProvider): Unit = {
36+
override def serializeContents(value: collection.Iterator[Any], gen: JsonGenerator, provider: SerializationContext): Unit = {
3737
serialize(value, gen, provider)
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: SerializerProvider, value: collection.Iterator[Any]): Boolean = value.hasNext
44+
override def isEmpty(provider: 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: 4 additions & 4 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: SerializerProvider, property: Option[BeanProperty], referredType: Option[JavaType]): Boolean = {
24+
def useStatic(provider: 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
@@ -57,17 +57,17 @@ object OptionSerializer {
5757
}
5858
}
5959

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

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

70-
def hasContentTypeAnnotation(provider: SerializerProvider, property: BeanProperty): Boolean = {
70+
def hasContentTypeAnnotation(provider: SerializationContext, property: BeanProperty): Boolean = {
7171
val intr = provider.getAnnotationIntrospector
7272
if (property == null || intr == null) {
7373
false

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
2121
this(src.elemType, src.staticTyping, vts, property, valueSerializer.asInstanceOf[ValueSerializer[Object]], unwrapSingle)
2222
}
2323

24-
override def isEmpty(prov: SerializerProvider, value: Iterable[Any]): Boolean = value.isEmpty
24+
override def isEmpty(prov: SerializationContext, value: Iterable[Any]): Boolean = value.isEmpty
2525

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

28-
override def serialize(value: Iterable[Any], g: JsonGenerator, provider: SerializerProvider): Unit = {
28+
override def serialize(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
2929
if (((_unwrapSingle == null && provider.isEnabled(SerializationFeature.WRITE_SINGLE_ELEM_ARRAYS_UNWRAPPED))
3030
|| _unwrapSingle) && hasSingleElement(value)) {
3131
serializeContents(value, g, provider)
@@ -36,7 +36,7 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
3636
}
3737
}
3838

39-
override def serializeContents(value: Iterable[Any], g: JsonGenerator, provider: SerializerProvider): Unit = {
39+
override def serializeContents(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
4040
g.assignCurrentValue(value)
4141
if (_elementSerializer != null) {
4242
serializeContentsUsing(value, g, provider, _elementSerializer)
@@ -79,7 +79,7 @@ private case class ScalaIterableSerializer(elemType: JavaType, staticTyping: Boo
7979
new ScalaIterableSerializer(this, _property, vts, _elementSerializer, _unwrapSingle)
8080
}
8181

82-
private def serializeContentsUsing(value: Iterable[Any], g: JsonGenerator, provider: SerializerProvider, ser: ValueSerializer[AnyRef]): Unit = {
82+
private def serializeContentsUsing(value: Iterable[Any], g: JsonGenerator, provider: SerializationContext, ser: ValueSerializer[AnyRef]): Unit = {
8383
val it = value.iterator
8484
if (it.hasNext) {
8585
val typeSer = _valueTypeSerializer

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ private case class ScalaIteratorSerializer(elemType: JavaType, staticTyping: Boo
2525
this(src.elemType, src.staticTyping, vts, property, valueSerializer.asInstanceOf[ValueSerializer[Object]], unwrapSingle)
2626
}
2727

28-
override def isEmpty(prov: SerializerProvider, value: Iterator[Any]): Boolean = value.isEmpty
28+
override def isEmpty(prov: SerializationContext, value: Iterator[Any]): Boolean = value.isEmpty
2929

3030
override def hasSingleElement(value: Iterator[Any]): Boolean = value.size == 1
3131

32-
override def serialize(value: Iterator[Any], g: JsonGenerator, provider: SerializerProvider): Unit = {
32+
override def serialize(value: Iterator[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
3333
//writeSingleElement is unsupported - also unsupported in tools.jackson.databind.ser.impl.IteratorSerializer
3434
//calculating the length of iterators can be expensive
3535
g.writeStartArray(value)
3636
serializeContents(value, g, provider)
3737
g.writeEndArray()
3838
}
3939

40-
override def serializeContents(it: Iterator[Any], g: JsonGenerator, provider: SerializerProvider): Unit = {
40+
override def serializeContents(it: Iterator[Any], g: JsonGenerator, provider: SerializationContext): Unit = {
4141
g.assignCurrentValue(it)
4242
if (_elementSerializer != null) {
4343
serializeContentsUsing(it, g, provider, _elementSerializer)
@@ -79,7 +79,7 @@ private case class ScalaIteratorSerializer(elemType: JavaType, staticTyping: Boo
7979
new ScalaIteratorSerializer(this, _property, vts, _elementSerializer, _unwrapSingle)
8080
}
8181

82-
private def serializeContentsUsing(it: Iterator[Any], g: JsonGenerator, provider: SerializerProvider, ser: ValueSerializer[AnyRef]): Unit = {
82+
private def serializeContentsUsing(it: Iterator[Any], g: JsonGenerator, provider: SerializationContext, ser: ValueSerializer[AnyRef]): Unit = {
8383
if (it.hasNext) {
8484
val typeSer = _valueTypeSerializer
8585
var i = 0

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import tools.jackson.module.scala.{JacksonModule, ScalaModule}
1111
import scala.languageFeature.postfixOps
1212

1313
private object SymbolSerializer extends ValueSerializer[Symbol] {
14-
def serialize(value: Symbol, jgen: JsonGenerator, provider: SerializerProvider): Unit =
14+
def serialize(value: Symbol, jgen: JsonGenerator, provider: SerializationContext): Unit =
1515
jgen.writeString(value.name)
1616
}
1717

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import scala.languageFeature.postfixOps
1212

1313
private class TupleSerializer extends ValueSerializer[Product] {
1414

15-
def serialize(value: Product, jgen: JsonGenerator, provider: SerializerProvider): Unit = {
15+
def serialize(value: Product, jgen: JsonGenerator, provider: SerializationContext): Unit = {
1616
jgen.writeStartArray()
1717
value.productIterator.foreach(provider.writeValue(jgen, _))
1818
jgen.writeEndArray()

src/test/scala-2.11/tools/jackson/module/scala/ser/SerializableMap.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package tools.jackson.module.scala.ser
22

33
import tools.jackson.core.JsonGenerator
4-
import tools.jackson.databind.{JacksonSerializable, SerializerProvider}
4+
import tools.jackson.databind.{JacksonSerializable, SerializationContext}
55
import tools.jackson.databind.jsontype.TypeSerializer
66

77
import scala.collection.immutable.AbstractMap
@@ -14,10 +14,10 @@ class SerializableMap extends AbstractMap[String, String] with JacksonSerializab
1414
def get(key: String): Option[String] = None
1515
def iterator: Iterator[(String, String)] = throw new IllegalArgumentException("This shouldn't get called")
1616

17-
override def serialize(jgen: JsonGenerator, provider: SerializerProvider): Unit = {
17+
override def serialize(jgen: JsonGenerator, provider: SerializationContext): Unit = {
1818
jgen.writeNumber(10)
1919
}
20-
override def serializeWithType(jgen: JsonGenerator, provider: SerializerProvider, typeSer: TypeSerializer): Unit = {
20+
override def serializeWithType(jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
2121
serialize(jgen, provider)
2222
}
2323
}

src/test/scala-2.12/tools/jackson/module/scala/ser/SerializableMap.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package tools.jackson.module.scala.ser
22

33
import tools.jackson.core.JsonGenerator
4-
import tools.jackson.databind.{JacksonSerializable, SerializerProvider}
4+
import tools.jackson.databind.{JacksonSerializable, SerializationContext}
55
import tools.jackson.databind.jsontype.TypeSerializer
66

77
import scala.collection.immutable.AbstractMap
@@ -14,10 +14,10 @@ class SerializableMap extends AbstractMap[String, String] with JacksonSerializab
1414
def get(key: String): Option[String] = None
1515
def iterator: Iterator[(String, String)] = throw new IllegalArgumentException("This shouldn't get called")
1616

17-
override def serialize(jgen: JsonGenerator, provider: SerializerProvider): Unit = {
17+
override def serialize(jgen: JsonGenerator, provider: SerializationContext): Unit = {
1818
jgen.writeNumber(10)
1919
}
20-
override def serializeWithType(jgen: JsonGenerator, provider: SerializerProvider, typeSer: TypeSerializer): Unit = {
20+
override def serializeWithType(jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
2121
serialize(jgen, provider)
2222
}
2323
}

src/test/scala-2.13/tools/jackson/module/scala/ser/SerializableMap.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package tools.jackson.module.scala.ser
22

33
import tools.jackson.core.JsonGenerator
44
import tools.jackson.databind.jsontype.TypeSerializer
5-
import tools.jackson.databind.{JacksonSerializable, SerializerProvider}
5+
import tools.jackson.databind.{JacksonSerializable, SerializationContext}
66

77
import scala.collection.immutable.AbstractMap
88

@@ -12,10 +12,10 @@ class SerializableMap extends AbstractMap[String, String] with JacksonSerializab
1212
def get(key: String): Option[String] = None
1313
def iterator: Iterator[(String, String)] = throw new IllegalArgumentException("This shouldn't get called")
1414

15-
override def serialize(jgen: JsonGenerator, provider: SerializerProvider): Unit = {
15+
override def serialize(jgen: JsonGenerator, provider: SerializationContext): Unit = {
1616
jgen.writeNumber(10)
1717
}
18-
override def serializeWithType(jgen: JsonGenerator, provider: SerializerProvider, typeSer: TypeSerializer): Unit = {
18+
override def serializeWithType(jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
1919
serialize(jgen, provider)
2020
}
2121

src/test/scala-3/tools/jackson/module/scala/ser/SerializableMap.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package tools.jackson.module.scala.ser
22

33
import tools.jackson.core.JsonGenerator
44
import tools.jackson.databind.jsontype.TypeSerializer
5-
import tools.jackson.databind.{JacksonSerializable, SerializerProvider}
5+
import tools.jackson.databind.{JacksonSerializable, SerializationContext}
66

77
import scala.collection.immutable.AbstractMap
88

@@ -12,10 +12,10 @@ class SerializableMap extends AbstractMap[String, String] with JacksonSerializab
1212
def get(key: String): Option[String] = None
1313
def iterator: Iterator[(String, String)] = throw new IllegalArgumentException("This shouldn't get called")
1414

15-
override def serialize(jgen: JsonGenerator, provider: SerializerProvider): Unit = {
15+
override def serialize(jgen: JsonGenerator, provider: SerializationContext): Unit = {
1616
jgen.writeNumber(10)
1717
}
18-
override def serializeWithType(jgen: JsonGenerator, provider: SerializerProvider, typeSer: TypeSerializer): Unit = {
18+
override def serializeWithType(jgen: JsonGenerator, provider: SerializationContext, typeSer: TypeSerializer): Unit = {
1919
serialize(jgen, provider)
2020
}
2121

0 commit comments

Comments
 (0)