Packages

object BSONHandler extends BSONHandlerInstances

BSONHandler factories

Linear Supertypes
BSONHandlerInstances, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BSONHandler
  2. BSONHandlerInstances
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. 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) }
    )
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  7. def collect[T](read: PartialFunction[BSONValue, T], write: PartialFunction[T, BSONValue]): BSONHandler[T]

    Creates a BSONHandler based on the given read and write functions.

    Creates a BSONHandler based on the given read and write 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)
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. def from[T](read: (BSONValue) => Try[T], write: (T) => Try[BSONValue]): BSONHandler[T]

    Returns a BSON handler for a type T, from the given safe read and write functions.

    Returns a BSON handler for a type T, from the given safe read and write 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)) })
  12. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  14. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. def option[T](read: (BSONValue) => Option[T], write: (T) => Option[BSONValue]): BSONHandler[T]

    Creates a BSONHandler based on the given read and write functions.

    Creates a BSONHandler based on the given read and write 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)
  19. 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]
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from BSONHandlerInstances

Inherited from AnyRef

Inherited from Any

Ungrouped