fm.serializer

package fm.serializer

Members list

Type members

Classlikes

object BooleanOptionDeserializer extends Deserializer[Option[Boolean]]

A Specialzed Option[Boolean] deserializer that uses the fm-common OptionCache via the Some.cached implicit

A Specialzed Option[Boolean] deserializer that uses the fm-common OptionCache via the Some.cached implicit

Attributes

Supertypes
trait Deserializer[Option[Boolean]]
trait NestedDeserializer[Option[Boolean]]
trait RawDeserializer[Option[Boolean]]
class Object
trait Matchable
class Any
Show all
Self type
final class BooleanPrimitive extends Primitive[Boolean]

Attributes

Supertypes
trait Primitive[Boolean]
trait SimpleSerializer[Boolean]
trait Deserializer[Boolean]
trait NestedDeserializer[Boolean]
trait RawDeserializer[Boolean]
trait Serializer[Boolean]
trait FieldSerializer[Boolean]
trait NestedSerializer[Boolean]
trait RawSerializer[Boolean]
class Object
trait Matchable
class Any
Show all
object Buffer

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Buffer.type
final class Buffer

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
final class ByteArrayPrimitive extends Primitive[Array[Byte]]

Attributes

Supertypes
trait Primitive[Array[Byte]]
trait SimpleSerializer[Array[Byte]]
trait Deserializer[Array[Byte]]
trait NestedDeserializer[Array[Byte]]
trait RawDeserializer[Array[Byte]]
trait Serializer[Array[Byte]]
trait FieldSerializer[Array[Byte]]
trait NestedSerializer[Array[Byte]]
trait RawSerializer[Array[Byte]]
class Object
trait Matchable
class Any
Show all
final class BytePrimitive extends Primitive[Byte]

Attributes

Supertypes
trait Primitive[Byte]
trait SimpleSerializer[Byte]
trait Deserializer[Byte]
trait NestedDeserializer[Byte]
trait RawDeserializer[Byte]
trait Serializer[Byte]
trait FieldSerializer[Byte]
trait NestedSerializer[Byte]
trait RawSerializer[Byte]
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class CanBuildFromDeserializer[Elem, Col](implicit cbf: Factory[Elem, Col], elemDeser: Deserializer[Elem]) extends CollectionDeserializerBase[Col]

Attributes

Companion
object
Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
object CharOptionDeserializer extends Deserializer[Option[Char]]

A Specialzed Option[Char] deserializer that uses the fm-common OptionCache via the Some.cached implicit

A Specialzed Option[Char] deserializer that uses the fm-common OptionCache via the Some.cached implicit

Attributes

Supertypes
trait Deserializer[Option[Char]]
trait NestedDeserializer[Option[Char]]
trait RawDeserializer[Option[Char]]
class Object
trait Matchable
class Any
Show all
Self type
final class CharPrimitive extends Primitive[Char]

Attributes

Supertypes
trait Primitive[Char]
trait SimpleSerializer[Char]
trait Deserializer[Char]
trait NestedDeserializer[Char]
trait RawDeserializer[Char]
trait Serializer[Char]
trait FieldSerializer[Char]
trait NestedSerializer[Char]
trait RawSerializer[Char]
class Object
trait Matchable
class Any
Show all
abstract class CollectionDeserializerBase[Col] extends Deserializer[Col]

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
Known subtypes

For reading Collections

For reading Collections

Attributes

Supertypes
trait NestedInput
class Object
trait Matchable
class Any
Known subtypes

These are implicit serializers/deserializers for common types that do not require the use of a macro to generate.

These are implicit serializers/deserializers for common types that do not require the use of a macro to generate.

Common types that DO require a macro are embedded into the makeSerializer/makeDeserializer via MacroHelpers.tryCommonType() since we can't call macros from here without creating a separate compilation package.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Deserializer.type
object Serializer.type

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Companion
object
Supertypes
trait RawDeserializer[T]
class Object
trait Matchable
class Any
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Deserializer.type
final class DeserializerProxy[T] extends Deserializer[T]

Attributes

Supertypes
trait Deserializer[T]
trait RawDeserializer[T]
class Object
trait Matchable
class Any
Show all
final class DoublePrimitive extends Primitive[Double]

Attributes

Supertypes
trait Primitive[Double]
trait SimpleSerializer[Double]
trait Deserializer[Double]
trait NestedDeserializer[Double]
trait RawDeserializer[Double]
trait Serializer[Double]
trait FieldSerializer[Double]
trait NestedSerializer[Double]
trait RawSerializer[Double]
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class FMByteArrayOutputStream(InitialArrayCapacity: Int, BufferSize: Int, MinUsefulBufferSize: Int, CompactThresholdSize: Int, SpliceThresholdSize: Int) extends OutputStream, Appendable

A ByteArrayOutputStream implementation optimized for writing binary serialized data (e.g. Protocol Buffers).

A ByteArrayOutputStream implementation optimized for writing binary serialized data (e.g. Protocol Buffers).

Tries to avoid excessive memory allocations and array resizing by using an Array of Byte Arrays to represent the data. Supports directly appending Byte Arrays (zero-copy), writing length prefixed data, optimized writing of ASCII and UTF-8 strings without going through a java.io.Writer.

Value parameters

BufferSize

The size of each buffer

CompactThresholdSize

If writing length prefixed data we have a gap then compact the array if the written data is less than this amount

InitialArrayCapacity

The initial capacity of the internal arrays

MinUsefulBufferSize

If we are splicing data keep using the existing buffer if there is at least this much space in it

SpliceThresholdSize

If writing a Byte Array that is over this length then splice it in. If it's under this length then just write it to our buffers

Attributes

Companion
object
Supertypes
trait Appendable
class OutputStream
trait Flushable
trait Closeable
trait AutoCloseable
class Object
trait Matchable
class Any
Show all
final class Field(number: Int, name: String, getter: String, setter: String, constructorIdx: Int, serializer: Serializer[_], deserializer: Deserializer[_]) extends StaticAnnotation

Attributes

Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
trait FieldInput extends NestedInput

FIELD Input

FIELD Input

This the extra methods for reading FIELD input along with the NestedInput methods

Attributes

Supertypes
trait NestedInput
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class FieldNameToNumberLookup(values: (String, Int)*)

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
trait FieldOutput

FIELD Output

FIELD Output

See the documentation for Output

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final class FixedIntPrimitive extends Primitive[Int]

Attributes

Supertypes
trait Primitive[Int]
trait SimpleSerializer[Int]
trait Deserializer[Int]
trait NestedDeserializer[Int]
trait RawDeserializer[Int]
trait Serializer[Int]
trait FieldSerializer[Int]
trait NestedSerializer[Int]
trait RawSerializer[Int]
class Object
trait Matchable
class Any
Show all
final class FixedLongPrimitive extends Primitive[Long]

Attributes

Supertypes
trait Primitive[Long]
trait SimpleSerializer[Long]
trait Deserializer[Long]
trait NestedDeserializer[Long]
trait RawDeserializer[Long]
trait Serializer[Long]
trait FieldSerializer[Long]
trait NestedSerializer[Long]
trait RawSerializer[Long]
class Object
trait Matchable
class Any
Show all
final class FloatPrimitive extends Primitive[Float]

Attributes

Supertypes
trait Primitive[Float]
trait SimpleSerializer[Float]
trait Deserializer[Float]
trait NestedDeserializer[Float]
trait RawDeserializer[Float]
trait Serializer[Float]
trait FieldSerializer[Float]
trait NestedSerializer[Float]
trait RawSerializer[Float]
class Object
trait Matchable
class Any
Show all
final class GrowableDeserializer[Elem, Col <: Growable[Elem]](newInstance: => Col)(implicit elemDeser: Deserializer[Elem]) extends CollectionDeserializerBase[Col]

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
final class IPSerializer extends SimpleSerializer[IP]

Attributes

Supertypes
trait SimpleSerializer[IP]
trait Deserializer[IP]
trait NestedDeserializer[IP]
trait RawDeserializer[IP]
trait Serializer[IP]
trait FieldSerializer[IP]
trait NestedSerializer[IP]
trait RawSerializer[IP]
class Object
trait Matchable
class Any
Show all
final class ImmutableArrayDeserializer[Elem, Col >: ImmutableArray[Elem]](implicit evidence$1: ClassTag[Elem], elemDeser: Deserializer[Elem]) extends CollectionDeserializerBase[Col]

A specialized implementation for deserializing ImmutableArrays.

A specialized implementation for deserializing ImmutableArrays.

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
final class ImmutableByteArrayPrimitive extends Primitive[ImmutableArray[Byte]]

Attributes

Supertypes
trait Primitive[ImmutableArray[Byte]]
trait SimpleSerializer[ImmutableArray[Byte]]
trait Deserializer[ImmutableArray[Byte]]
trait NestedDeserializer[ImmutableArray[Byte]]
trait RawDeserializer[ImmutableArray[Byte]]
trait Serializer[ImmutableArray[Byte]]
trait FieldSerializer[ImmutableArray[Byte]]
trait NestedSerializer[ImmutableArray[Byte]]
trait RawSerializer[ImmutableArray[Byte]]
class Object
trait Matchable
class Any
Show all
final class ImmutableIntArrayDeserializer extends CollectionDeserializerBase[ImmutableArray[Int]]

Attributes

Supertypes
class CollectionDeserializerBase[ImmutableArray[Int]]
trait Deserializer[ImmutableArray[Int]]
trait NestedDeserializer[ImmutableArray[Int]]
trait RawDeserializer[ImmutableArray[Int]]
class Object
trait Matchable
class Any
Show all
final class ImmutableLongArrayDeserializer extends CollectionDeserializerBase[ImmutableArray[Long]]

Attributes

Supertypes
class CollectionDeserializerBase[ImmutableArray[Long]]
trait Deserializer[ImmutableArray[Long]]
trait NestedDeserializer[ImmutableArray[Long]]
trait RawDeserializer[ImmutableArray[Long]]
class Object
trait Matchable
class Any
Show all

Generic Input trait to be implemented by Serialization Implementations

Generic Input trait to be implemented by Serialization Implementations

See the docs for Output for the distinction between RAW, NESTED, and FIELD Input/Output. The only difference for Input is that there aren't readNestedXXX() methods. Instead the way fields for objects are read is:

  • readFieldNumber(...) to get the name/number of the field
  • readNestedXXX() to get the value of the field (based on looking up the proper type given the name/number)

Attributes

Supertypes
trait RawInput
trait FieldInput
trait NestedInput
class Object
trait Matchable
class Any
Show all
Known subtypes
object IntOptionDeserializer extends Deserializer[Option[Int]]

A Specialzed Option[Int] deserializer that uses the fm-common OptionCache via the Some.cached implicit

A Specialzed Option[Int] deserializer that uses the fm-common OptionCache via the Some.cached implicit

Attributes

Supertypes
trait Deserializer[Option[Int]]
trait NestedDeserializer[Option[Int]]
trait RawDeserializer[Option[Int]]
class Object
trait Matchable
class Any
Show all
Self type
final class IntPrimitive extends Primitive[Int]

Attributes

Supertypes
trait Primitive[Int]
trait SimpleSerializer[Int]
trait Deserializer[Int]
trait NestedDeserializer[Int]
trait RawDeserializer[Int]
trait Serializer[Int]
trait FieldSerializer[Int]
trait NestedSerializer[Int]
trait RawSerializer[Int]
class Object
trait Matchable
class Any
Show all
final class JavaBigDecimalPrimitive extends Primitive[BigDecimal]

Attributes

Supertypes
trait Primitive[BigDecimal]
trait SimpleSerializer[BigDecimal]
trait Deserializer[BigDecimal]
trait NestedDeserializer[BigDecimal]
trait RawDeserializer[BigDecimal]
trait Serializer[BigDecimal]
trait FieldSerializer[BigDecimal]
trait NestedSerializer[BigDecimal]
trait RawSerializer[BigDecimal]
class Object
trait Matchable
class Any
Show all
final class JavaBigIntegerPrimitive extends Primitive[BigInteger]

Attributes

Supertypes
trait Primitive[BigInteger]
trait SimpleSerializer[BigInteger]
trait Deserializer[BigInteger]
trait NestedDeserializer[BigInteger]
trait RawDeserializer[BigInteger]
trait Serializer[BigInteger]
trait FieldSerializer[BigInteger]
trait NestedSerializer[BigInteger]
trait RawSerializer[BigInteger]
class Object
trait Matchable
class Any
Show all
final class JavaCollectionDeserializer[Elem, Col <: Collection[Elem]](newInstance: => Col)(implicit elemDeser: Deserializer[Elem]) extends CollectionDeserializerBase[Col]

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
final class JavaIterableSerializer[T, Col <: Iterable[T]](implicit elemSerializer: Serializer[T]) extends Serializer[Col], FieldSerializer[Col]

A Serializer/FieldSerializer for a Java Iterable

A Serializer/FieldSerializer for a Java Iterable

Attributes

Supertypes
trait Serializer[Col]
trait FieldSerializer[Col]
trait NestedSerializer[Col]
trait RawSerializer[Col]
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class LinkedByteArrayOutputStream() extends OutputStream

Attributes

Companion
object
Supertypes
class OutputStream
trait Flushable
trait Closeable
trait AutoCloseable
class Object
trait Matchable
class Any
Show all
object LongOptionDeserializer extends Deserializer[Option[Long]]

A Specialzed Option[Long] deserializer that uses the fm-common OptionCache via the Some.cached implicit

A Specialzed Option[Long] deserializer that uses the fm-common OptionCache via the Some.cached implicit

Attributes

Supertypes
trait Deserializer[Option[Long]]
trait NestedDeserializer[Option[Long]]
trait RawDeserializer[Option[Long]]
class Object
trait Matchable
class Any
Show all
Self type
final class LongPrimitive extends Primitive[Long]

Attributes

Supertypes
trait Primitive[Long]
trait SimpleSerializer[Long]
trait Deserializer[Long]
trait NestedDeserializer[Long]
trait RawDeserializer[Long]
trait Serializer[Long]
trait FieldSerializer[Long]
trait NestedSerializer[Long]
trait RawSerializer[Long]
class Object
trait Matchable
class Any
Show all
final class MappedSimpleSerializer[A, B](orig: SimpleSerializer[A], mapper: Mapper[A, B]) extends SimpleSerializer[B]

Attributes

Supertypes
trait SimpleSerializer[B]
trait Deserializer[B]
trait RawDeserializer[B]
trait Serializer[B]
trait FieldSerializer[B]
trait NestedSerializer[B]
trait RawSerializer[B]
class Object
trait Matchable
class Any
Show all
trait Mapper[A, B]

Attributes

Supertypes
class Object
trait Matchable
class Any

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait NestedInput

NESTED Input

NESTED Input

See documentation for Input/Output traits

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait NestedOutput

NESTED Output

NESTED Output

See the documentation for Output

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait ObjectDeserializer[T] extends Deserializer[T]

A combined Object Serializer/Deserializer that Serializes/Deserializes Objects from/to the same type

A combined Object Serializer/Deserializer that Serializes/Deserializes Objects from/to the same type

Attributes

Companion
object
Supertypes
trait Deserializer[T]
trait RawDeserializer[T]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ObjectDeserializer.type

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait ObjectSerializer[T] extends Serializer[T]

A combined Object Serializer/Deserializer that Serializes/Deserializes Objects from/to the same type

A combined Object Serializer/Deserializer that Serializes/Deserializes Objects from/to the same type

Attributes

Companion
object
Supertypes
trait Serializer[T]
trait FieldSerializer[T]
trait NestedSerializer[T]
trait RawSerializer[T]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ObjectSerializer.type
final case class OptionDeserializer[A]()(implicit deser: Deserializer[A]) extends Deserializer[Option[A]]

For deserializing Option types. Note: this does NOT allow Some(null)

For deserializing Option types. Note: this does NOT allow Some(null)

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Deserializer[Option[A]]
trait NestedDeserializer[Option[A]]
trait RawDeserializer[Option[A]]
class Object
trait Matchable
class Any
Show all
final case class OptionSerializer[A]()(implicit ser: Serializer[A]) extends Serializer[Option[A]]

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
trait Serializer[Option[A]]
trait FieldSerializer[Option[A]]
trait NestedSerializer[Option[A]]
trait RawSerializer[Option[A]]
class Object
trait Matchable
class Any
Show all

Generic Output trait to be implemented by Serialization Implementations

Generic Output trait to be implemented by Serialization Implementations

There are 3 classes of outputs:

  • RAW
  • NESTED
  • FIELD

RAW Raw output is what you get if you serialize something by itself. Depending on the serialization implementation it will probably have an implicit length determined by the length of an Array[Byte], String, InputStream, etc. The starting point for serializing something it usually invoking one of the writeRawXXX(...) methods. The writeRawXXX(...) methods should be implemented by all serialization implementations.

NESTED Nested output is what we use when something is serialized as part of something else and may or may not be different than RAW output depending on the serialization implementation. For example, when serializing a collection each element would be serialized using the writeNestedXXX(...) methods. The nested format might have additional length information compared to the RAW format since there is no implicit length. For example, in protocol buffers a string/object/collection is prefixed with its length. Most serialization implementations can probably write optional length information followed by calling the corresponding writeRawXXX(...) method.

Another way to think about nested output is what we should be able to deserialize a NESTED value that is in the middle of an array of bytes (or a string or whatever). This means we need to know when to stop reading the value. For something like Protocol Buffers we will be prepending the length for string/object/repeated field or have a marker bit for varints to know when to stop. For something like JSON we will hit a double-quote (for strings) for a comma or closing brace (for all other types).

FIELD Field output is used when writing fields of an object. In addition to the value we are serializing it contains the name/number of the field in the object. Most implementations will probably write out the field name/number information followed by a call to the corresponding writeNestedXXX(...) method. Some implementations, such as Protocol Buffers, writes out the type of the field as part of the name/number which is why there isn't just a writeFieldName(...) which the framework would call automatically followed by the appropriate writeNestedXXX(...).

NOTE - Reading field output (via Input) is broken into a readFieldNumber() call to get the name/number of the field followed by calls to readNestedXXX().

Things are broken out this way to mainly support more complex formats (like Protocol Buffers). For something like a JSON implementation the RAW and NESTED formats will probably be the same. The way in which we write out JSON fields as part of an object will also be the same no matter what the type is unlike something like Protocol Buffers which needs to encode the type of field as part of the name/number of the field.

Attributes

Supertypes
trait RawOutput
trait NestedOutput
trait FieldOutput
class Object
trait Matchable
class Any
Show all
Known subtypes
object Primitive extends PrimitiveImplicits

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
Primitive.type
sealed trait Primitive[T] extends SimpleSerializer[T]

Attributes

Companion
object
Supertypes
trait SimpleSerializer[T]
trait Deserializer[T]
trait RawDeserializer[T]
trait Serializer[T]
trait FieldSerializer[T]
trait NestedSerializer[T]
trait RawSerializer[T]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type

These are the default implicits for primitives

These are the default implicits for primitives

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Deserializer.type
object Primitive.type
object PrimitiveImplicits.type
object Serializer.type
trait RawDeserializer[T]

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait RawInput

RAW Input

RAW Input

See documentation for Input/Output traits

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait RawOutput

RAW Output

RAW Output

See the documentation for Output

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
final class RenameField(name: String) extends StaticAnnotation

Attributes

Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
final class ScalaBigDecimalPrimitive extends Primitive[BigDecimal]

Attributes

Supertypes
trait Primitive[BigDecimal]
trait SimpleSerializer[BigDecimal]
trait Deserializer[BigDecimal]
trait NestedDeserializer[BigDecimal]
trait RawDeserializer[BigDecimal]
trait Serializer[BigDecimal]
trait FieldSerializer[BigDecimal]
trait NestedSerializer[BigDecimal]
trait RawSerializer[BigDecimal]
class Object
trait Matchable
class Any
Show all
final class ScalaBigIntPrimitive extends Primitive[BigInt]

Attributes

Supertypes
trait Primitive[BigInt]
trait SimpleSerializer[BigInt]
trait Deserializer[BigInt]
trait NestedDeserializer[BigInt]
trait RawDeserializer[BigInt]
trait Serializer[BigInt]
trait FieldSerializer[BigInt]
trait NestedSerializer[BigInt]
trait RawSerializer[BigInt]
class Object
trait Matchable
class Any
Show all

Usage Pattern:

Usage Pattern:

import fm.serializer.{SerializableCompanion, SerializableInstance, SimpleSerializer}

object Foo extends SerializableCompanion[Foo] { protected val serializer: SimpleSerializer[Foo] = makeSerializer[Foo] }

final case class Foo(bar: String) extends SerializableInstance[Foo] { protected def companion: SerializableCompanion[Foo] = Foo }

Attributes

Supertypes
class Object
trait Matchable
class Any

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Usage Pattern:

Usage Pattern:

import fm.serializer.{SerializableCompanion, SerializableInstance, SimpleSerializer}

object Foo extends SerializableCompanion[Foo] { protected val serializer: SimpleSerializer[Foo] = makeSerializer[Foo] }

final case class Foo(bar: String) extends SerializableInstance[Foo] { protected def companion: SerializableCompanion[Foo] = Foo }

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
A

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Show all
Self type
Serializer.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Serializer.type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Serializer.type
final class SerializerProxy[T] extends Serializer[T]

Attributes

Supertypes
trait Serializer[T]
trait FieldSerializer[T]
trait NestedSerializer[T]
trait RawSerializer[T]
class Object
trait Matchable
class Any
Show all
final class ShortPrimitive extends Primitive[Short]

Attributes

Supertypes
trait Primitive[Short]
trait SimpleSerializer[Short]
trait Deserializer[Short]
trait NestedDeserializer[Short]
trait RawDeserializer[Short]
trait Serializer[Short]
trait FieldSerializer[Short]
trait NestedSerializer[Short]
trait RawSerializer[Short]
class Object
trait Matchable
class Any
Show all
final class SignedIntPrimitive extends Primitive[Int]

Attributes

Supertypes
trait Primitive[Int]
trait SimpleSerializer[Int]
trait Deserializer[Int]
trait NestedDeserializer[Int]
trait RawDeserializer[Int]
trait Serializer[Int]
trait FieldSerializer[Int]
trait NestedSerializer[Int]
trait RawSerializer[Int]
class Object
trait Matchable
class Any
Show all
final class SignedLongPrimitive extends Primitive[Long]

Attributes

Supertypes
trait Primitive[Long]
trait SimpleSerializer[Long]
trait Deserializer[Long]
trait NestedDeserializer[Long]
trait RawDeserializer[Long]
trait Serializer[Long]
trait FieldSerializer[Long]
trait NestedSerializer[Long]
trait RawSerializer[Long]
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class SimpleObjectSerializer[T]()(implicit ser: ObjectSerializer[T], deser: ObjectDeserializer[T]) extends ObjectSerializer[T], ObjectDeserializer[T], SimpleSerializer[T]

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
trait SimpleSerializer[T]
trait Deserializer[T]
trait RawDeserializer[T]
trait ObjectSerializer[T]
trait Serializer[T]
trait FieldSerializer[T]
trait NestedSerializer[T]
trait RawSerializer[T]
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait SimpleSerializer[A] extends Serializer[A], Deserializer[A]

A combined Serializer/Deserializer that works on the same type

A combined Serializer/Deserializer that works on the same type

Attributes

Supertypes
trait Deserializer[A]
trait RawDeserializer[A]
trait Serializer[A]
trait FieldSerializer[A]
trait NestedSerializer[A]
trait RawSerializer[A]
class Object
trait Matchable
class Any
Show all
Known subtypes

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final class StringMapCanBuildFromDeserializer[V, Col](implicit cbf: Factory[(String, V), Col], elemDeser: Deserializer[(String, V)], valueDeser: Deserializer[V]) extends Deserializer[Col]

Attributes

Companion
object
Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
final class StringMapGrowableDeserializer[V, Col <: Growable[(String, V)]](newInstance: => Col)(implicit elemDeser: Deserializer[(String, V)], valueDeser: Deserializer[V]) extends Deserializer[Col]

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all
final class StringMapSerializer[V, Col <: IterableOnce[(String, V)]](implicit elemSerializer: Serializer[(String, V)], valueSerializer: Serializer[V]) extends Serializer[Col]

A Serializer for a Map[String,V] (or rather TraversableOnce[(String,V)]) that allows us to output a JSON Object for a Map[String,V] instead of an Array[(String,V)]. If the underlying Output doesn't support this style (e.g. Protobuf) then the TraversableOnceSerializer is used instead.

A Serializer for a Map[String,V] (or rather TraversableOnce[(String,V)]) that allows us to output a JSON Object for a Map[String,V] instead of an Array[(String,V)]. If the underlying Output doesn't support this style (e.g. Protobuf) then the TraversableOnceSerializer is used instead.

Attributes

Supertypes
trait Serializer[Col]
trait FieldSerializer[Col]
trait NestedSerializer[Col]
trait RawSerializer[Col]
class Object
trait Matchable
class Any
Show all
final class StringPrimitive extends Primitive[String]

Attributes

Supertypes
trait Primitive[String]
trait SimpleSerializer[String]
trait Deserializer[String]
trait NestedDeserializer[String]
trait RawDeserializer[String]
trait Serializer[String]
trait FieldSerializer[String]
trait NestedSerializer[String]
trait RawSerializer[String]
class Object
trait Matchable
class Any
Show all
final class TraversableOnceSerializer[T, Col <: IterableOnce[T]](implicit elemSerializer: Serializer[T]) extends Serializer[Col]

A Serializer for a TraversableOnce

A Serializer for a TraversableOnce

Attributes

Supertypes
trait Serializer[Col]
trait FieldSerializer[Col]
trait NestedSerializer[Col]
trait RawSerializer[Col]
class Object
trait Matchable
class Any
Show all
final class UnsignedIntPrimitive extends Primitive[Int]

Attributes

Supertypes
trait Primitive[Int]
trait SimpleSerializer[Int]
trait Deserializer[Int]
trait NestedDeserializer[Int]
trait RawDeserializer[Int]
trait Serializer[Int]
trait FieldSerializer[Int]
trait NestedSerializer[Int]
trait RawSerializer[Int]
class Object
trait Matchable
class Any
Show all
final class UnsignedLongPrimitive extends Primitive[Long]

Attributes

Supertypes
trait Primitive[Long]
trait SimpleSerializer[Long]
trait Deserializer[Long]
trait NestedDeserializer[Long]
trait RawDeserializer[Long]
trait Serializer[Long]
trait FieldSerializer[Long]
trait NestedSerializer[Long]
trait RawSerializer[Long]
class Object
trait Matchable
class Any
Show all
final class VectorDeserializer[Elem, Col >: Vector[Elem]](implicit elemDeser: Deserializer[Elem]) extends CollectionDeserializerBase[Col]

A specialized implementation for deserializing Vectors.

A specialized implementation for deserializing Vectors.

Attributes

Supertypes
trait Deserializer[Col]
trait NestedDeserializer[Col]
trait RawDeserializer[Col]
class Object
trait Matchable
class Any
Show all

Experimental classlikes

final case class MacroHelpers(isDebug: Boolean)(using x$2: Quotes)

Attributes

Experimental
true
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Macros

Attributes

Experimental
true
Supertypes
class Object
trait Matchable
class Any
Self type
Macros.type