object BSONHandler extends BSONHandlerInstances
BSONHandler factories
- Alphabetic
- By Inheritance
- BSONHandler
- BSONHandlerInstances
- 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, write: (T) => BSONValue): BSONHandler[T]
Handler factory.
Handler factory.
import reactivemongo.api.bson.{ BSONHandler, BSONString } case class Foo(value: String) val foo: BSONHandler[Foo] = BSONHandler( { _ => Foo("value") }, { (f: Foo) => BSONString(f.value) } )
- 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], write: PartialFunction[T, BSONValue]): BSONHandler[T]
Creates a BSONHandler based on the given
read
andwrite
functions.Creates a BSONHandler based on the given
read
andwrite
functions.import reactivemongo.api.bson.{ BSONHandler, BSONInteger } val intToStrCodeHandler = BSONHandler.collect[String]( read = { case BSONInteger(0) => "zero" case BSONInteger(1) => "one" }, write = { case "zero" => BSONInteger(0) case "one" => BSONInteger(1) }) intToStrCodeHandler.readTry(BSONInteger(0)) // Success("zero") intToStrCodeHandler.readOpt(BSONInteger(3)) // None (as failed) intToStrCodeHandler.writeTry("one") // Success(BSONInteger(1)) intToStrCodeHandler.writeOpt("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], write: (T) => Try[BSONValue]): BSONHandler[T]
Returns a BSON handler for a type
T
, from the given saferead
andwrite
functions.Returns a BSON handler for a type
T
, from the given saferead
andwrite
functions.import scala.util.{ Failure, Success } import reactivemongo.api.bson.{ BSONHandler, BSONInteger } case class Foo(age: Int) val handler: BSONHandler[Foo] = BSONHandler.from[Foo]( read = { case BSONInteger(age) => Success(Foo(age)) case _ => Failure(new IllegalArgumentException()) }, write = { foo => Success(BSONInteger(foo.age)) })
- 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
- 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], write: (T) => Option[BSONValue]): BSONHandler[T]
Creates a BSONHandler based on the given
read
andwrite
functions.Creates a BSONHandler based on the given
read
andwrite
functions.import reactivemongo.api.bson.{ BSONHandler, BSONInteger } val intToStrCodeHandler = BSONHandler.option[String]( read = { case BSONInteger(0) => Some("zero") case BSONInteger(1) => Some("one") case _ => None }, write = { case "zero" => Some(BSONInteger(0)) case "one" => Some(BSONInteger(1)) case _ => None }) intToStrCodeHandler.readTry(BSONInteger(0)) // Success("zero") intToStrCodeHandler.readOpt(BSONInteger(3)) // None (as failed) intToStrCodeHandler.writeTry("one") // Success(BSONInteger(1)) intToStrCodeHandler.writeOpt("3") // None (as failed)
- implicit def provided[T](implicit reader: BSONReader[T], writer: BSONWriter[T]): BSONHandler[T]
Returns a BSON handler for a type
T
, provided there are a writer and a reader for it.Returns a BSON handler for a type
T
, provided there are a writer and a reader for it.import reactivemongo.api.bson.{ BSONHandler, BSONReader, BSONWriter } def foo[T]( implicit r: BSONReader[T], w: BSONWriter[T]): BSONHandler[T] = BSONHandler.provided[T]
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- 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()