Class ScalaIterableSerde<T>
java.lang.Object
io.micronaut.scala.serde.ScalaIterableSerde<T>
- Type Parameters:
T- The element type
- All Implemented Interfaces:
io.micronaut.serde.Serializer<scala.collection.Iterable<T>>, io.micronaut.serde.util.CustomizableSerializer<scala.collection.Iterable<T>>
@Singleton
@Requires(classes=io.micronaut.serde.Serializer.class)
public final class ScalaIterableSerde<T>
extends Object
implements io.micronaut.serde.util.CustomizableSerializer<scala.collection.Iterable<T>>
Serialization for the Scala collections, which are a JSON array like any other.
They are not java.util.Collections, so Micronaut Serialization has no serializer
for them and falls back to introspecting the concrete type -- $colon$colon, the cons
cell behind a List, which no one declared and which carries nothing meaningful. A
member declared List[String] therefore failed both ways round.
Writing iterates, which every Scala collection supports, so one serializer naming the most
general Scala collection type covers all of them. Reading does not work that way and lives in
ScalaCollectionDeserializer.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.micronaut.serde.Serializer
io.micronaut.serde.Serializer.EncoderContext -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionio.micronaut.serde.Serializer<scala.collection.Iterable<T>> createSpecific(io.micronaut.serde.Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends scala.collection.Iterable<T>> type) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.serde.util.CustomizableSerializer
isAbsent, isEmpty, serializeMethods inherited from interface io.micronaut.serde.Serializer
isDefault
-
Constructor Details
-
ScalaIterableSerde
public ScalaIterableSerde()
-
-
Method Details
-
createSpecific
public io.micronaut.serde.Serializer<scala.collection.Iterable<T>> createSpecific(io.micronaut.serde.Serializer.EncoderContext context, io.micronaut.core.type.Argument<? extends scala.collection.Iterable<T>> type) throws io.micronaut.serde.exceptions.SerdeException - Specified by:
createSpecificin interfaceio.micronaut.serde.Serializer<T>- Throws:
io.micronaut.serde.exceptions.SerdeException
-