trait MacroCodec[T] extends Codec[T]
- T
the case class type for the codec
- Since
2.0
- Alphabetic
- By Inheritance
- MacroCodec
- Codec
- Decoder
- Encoder
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
val
caseClassesMap: Map[String, Class[_]]
Creates a
Map[String, Class[_]]
mapping the case class name and the type. -
abstract
val
classFieldTypeArgsMap: Map[String, Map[String, List[Class[_]]]]
A nested map of case class name to a Map of the given field names and a list of the field types.
-
abstract
val
classToCaseClassMap: Map[Class[_], Boolean]
Creates a
Map[Class[_], Boolean]
mapping field types to a boolean representing if they are a case class. -
abstract
val
codecRegistry: CodecRegistry
The
CodecRegistry
for use with the codec -
abstract
val
encoderClass: Class[T]
The case class type for the codec
-
abstract
def
getInstance(className: String, fieldsData: Map[String, Any]): T
Creates a new instance of the case class with the provided data
Creates a new instance of the case class with the provided data
- className
the name of the class to be instantiated
- fieldsData
the Map of data for the class
- returns
the new instance of the class
-
abstract
def
writeCaseClassData(className: String, writer: BsonWriter, value: T, encoderContext: EncoderContext): Unit
The method that writes the data for the case class
The method that writes the data for the case class
- className
the name of the current case class being written
- writer
the
BsonWriter
- value
the value to the case class
- encoderContext
the
EncoderContext
Concrete Value Members
- lazy val caseClassesMapInv: Map[Class[_], String]
-
val
classFieldName: String
The field used to save the class name when saving sealed case classes.
-
def
decode(reader: BsonReader, decoderContext: DecoderContext): T
- Definition Classes
- MacroCodec → Decoder
-
def
encode(writer: BsonWriter, value: T, encoderContext: EncoderContext): Unit
- Definition Classes
- MacroCodec → Encoder
-
def
getEncoderClass(): Class[T]
- Definition Classes
- MacroCodec → Encoder
- lazy val hasClassFieldName: Boolean
This is the documentation for the MongoDB Scala driver.
Driver structure
The mongodb scala driver.
To get started you need a MongoClient instance, either from a connection string or via a org.mongodb.scala.MongoClientSettings.
Notable packages include: