object BSONReader extends BSONReaderCompat
BSONReader factories
- Alphabetic
- By Inheritance
- BSONReader
- BSONReaderCompat
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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( ... ) @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: Any): 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[_]
- 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: CanBuildFrom[M[_], 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, Macros } case class Element(str: String, v: Int) val elementHandler = Macros.handler[Element] val setReader: BSONReader[Set[Element]] = BSONReader.iterable[Element, Set](elementHandler 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()