BSONDocumentWriter

reactivemongo.api.bson.BSONDocumentWriter
See theBSONDocumentWriter companion object
trait BSONDocumentWriter[T] extends BSONWriter[T]

BSONWriter specialized for BSONDocument

Attributes

Companion:
object
Graph
Supertypes
trait BSONWriter[T]
class Object
trait Matchable
class Any
Known subtypes
object Handler.type
Self type

Members list

Concise view

Value members

Abstract methods

override def writeTry(t: T): Try[BSONDocument]

Tries to produce a BSON value from an instance of T.

Tries to produce a BSON value from an instance of T.

import scala.util.Try
import reactivemongo.api.bson.{ BSONWriter, BSONValue }

def toBSON[T](value: T)(implicit w: BSONWriter[T]): Try[BSONValue] =
 w.writeTry(value)

Attributes

Definition Classes

Concrete methods

final override def beforeWrite[U](f: U => T): BSONDocumentWriter[U]

Prepares a BSON writer that converts the input before calling the current writer.

Prepares a BSON writer that converts the input before calling the current writer.

Attributes

f

the function apply the U input value to convert at T value used to the current writer

import reactivemongo.api.bson.BSONWriter
val w: BSONWriter[String] =
 implicitly[BSONWriter[Int]].beforeWrite(_.size)
w.writeTry("foo") // Success: BSONInteger(3)
Definition Classes
override def narrow[U <: T]: BSONDocumentWriter[U]

Narrows this writer for a compatible type U.

Narrows this writer for a compatible type U.

import reactivemongo.api.bson.BSONWriter

val listWriter: BSONWriter[Seq[String]] =
 implicitly[BSONWriter[Seq[String]]]

val narrowAsListWriter: BSONWriter[List[String]] =
 listWriter.narrow[List[String]]
 // as List[String] <: Seq[String]

Attributes

U

must be a sub-type of T

Definition Classes
override def writeOpt(t: T): Option[BSONDocument]

Tries to produce a BSON value from an instance of T, returns None if an error occurred.

Tries to produce a BSON value from an instance of T, returns None if an error occurred.

import reactivemongo.api.bson.{ BSONWriter, BSONValue }

def maybeBSON[T](value: T)(implicit w: BSONWriter[T]): Option[BSONValue] =
 w.writeOpt(value)

Attributes

Definition Classes

Inherited methods

Prepares a BSON writer that returns the result of applying f on the BSON value from this writer.

Prepares a BSON writer that returns the result of applying f on the BSON value from this writer.

If the f function is not defined for a BSONValue, it will results in a Failure.

Attributes

f

the partial function to apply

Inherited from:
BSONWriter

Prepares a BSON writer that returns the result of applying f on the BSON value from this writer.

Prepares a BSON writer that returns the result of applying f on the BSON value from this writer.

Attributes

f

the safe function to apply

Inherited from:
BSONWriter