object BSONReader extends BSONReaderCompat with BSONReaderInstances
BSONReader factories
- Alphabetic
- By Inheritance
- BSONReader
- BSONReaderInstances
- BSONReaderCompat
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[T](read: (BSONValue) => T): BSONReader[T]
Creates a BSONReader based on the given
read
function.Creates a BSONReader based on the given
read
function.import reactivemongo.api.bson.{ BSONReader, BSONInteger } val intToStrCodeReader = BSONReader[String] { case BSONInteger(0) => "zero" case BSONInteger(1) => "one" case _ => "unknown" } intToStrCodeReader.readTry(BSONInteger(0)) // Success("zero") intToStrCodeReader.readTry(BSONInteger(1)) // Success("one") intToStrCodeReader.readTry(BSONInteger(2)) // Success("unknown")
Any
Exception
thrown by theread
function will be caught. - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def collect[T](read: PartialFunction[BSONValue, T]): BSONReader[T]
Creates a BSONReader based on the given partial function.
Creates a BSONReader based on the given partial function.
A exceptions.ValueDoesNotMatchException is returned as
Failure
for any BSON value that is not matched by theread
function.import reactivemongo.api.bson.{ BSONReader, BSONInteger } val intToStrCodeReader = BSONReader.collect[String] { case BSONInteger(0) => "zero" case BSONInteger(1) => "one" } intToStrCodeReader.readTry(BSONInteger(0)) // Success("zero") intToStrCodeReader.readTry(BSONInteger(1)) // Success("one") intToStrCodeReader.readTry(BSONInteger(2)) // => Failure(ValueDoesNotMatchException(..)) intToStrCodeReader.readOpt(BSONInteger(3)) // None (as failed)
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def from[T](read: (BSONValue) => Try[T]): BSONReader[T]
Creates a BSONReader based on the given
read
function.Creates a BSONReader based on the given
read
function.import scala.util.{ Failure, Success } import reactivemongo.api.bson.{ BSONReader, BSONInteger } val intToStrCodeReader = BSONReader.from[String] { case BSONInteger(0) => Success("zero") case BSONInteger(1) => Success("one") case _ => Failure(new IllegalArgumentException()) } intToStrCodeReader.readTry(BSONInteger(0)) // Success("zero") intToStrCodeReader.readTry(BSONInteger(1)) // Success("one") intToStrCodeReader.readTry(BSONInteger(2)) // => Failure(IllegalArgumentException(..)) intToStrCodeReader.readOpt(BSONInteger(3)) // None (as failed)
- read
the safe function to read BSON values as
T
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def iterable[T, M[_]](read: (BSONValue) => Try[T])(implicit cbf: Factory[T, M[T]]): BSONReader[M[T]]
EXPERIMENTAL: (API may change without notice)
EXPERIMENTAL: (API may change without notice)
Creates a BSONReader accepting only BSONArray, and applying the given safe
read
function to each element value.import reactivemongo.api.bson.BSONReader case class Element(str: String, v: Int) def elementReader: BSONReader[Element] = ??? val setReader: BSONReader[Set[Element]] = BSONReader.iterable[Element, Set](elementReader readTry _)
- Definition Classes
- BSONReaderCompat
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def option[T](read: (BSONValue) => Option[T]): BSONReader[T]
Creates a BSONReader based on the given
read
function.Creates a BSONReader based on the given
read
function.import reactivemongo.api.bson.{ BSONReader, BSONInteger } val intToStrCodeReader = BSONReader.option[String] { case BSONInteger(0) => Some("zero") case BSONInteger(1) => Some("one") case _ => None } intToStrCodeReader.readTry(BSONInteger(0)) // Success("zero") intToStrCodeReader.readTry(BSONInteger(1)) // Success("one") intToStrCodeReader.readTry(BSONInteger(2)) // => Failure(ValueDoesNotMatchException(..)) intToStrCodeReader.readOpt(BSONInteger(3)) // None (as failed)
- def sequence[T](read: (BSONValue) => Try[T]): BSONReader[Seq[T]]
EXPERIMENTAL: (API may change without notice)
EXPERIMENTAL: (API may change without notice)
Creates a BSONReader accepting only BSONArray, and applying the given safe
read
function to each element value.import reactivemongo.api.bson.BSONReader def foo(elmReader: BSONReader[(String, Int)]): BSONReader[Seq[(String, Int)]] = BSONReader.sequence(elmReader.readTry _)
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def tuple2[A, B](implicit arg0: BSONReader[A], arg1: BSONReader[B]): BSONReader[(A, B)]
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
import reactivemongo.api.bson.{ BSONArray, BSONReader } val reader = BSONReader.tuple2[String, Int] val arr = BSONArray("Foo", 20) reader.readTry(arr) // => Success(("Foo", 20))
- def tuple3[A, B, C](implicit arg0: BSONReader[A], arg1: BSONReader[B], arg2: BSONReader[C]): BSONReader[(A, B, C)]
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
- See also
- def tuple4[A, B, C, D](implicit arg0: BSONReader[A], arg1: BSONReader[B], arg2: BSONReader[C], arg3: BSONReader[D]): BSONReader[(A, B, C, D)]
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
- See also
- def tuple5[A, B, C, D, E](implicit arg0: BSONReader[A], arg1: BSONReader[B], arg2: BSONReader[C], arg3: BSONReader[D], arg4: BSONReader[E]): BSONReader[(A, B, C, D, E)]
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
EXPERIMENTAL: Creates a BSONDocumentReader that reads the BSONArray elements.
- See also
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()