Packages

object Macros

Macros for generating BSONReader and BSONWriter implementations for case at compile time. Invoking these macros is equivalent to writing anonymous class implementations by hand.

import reactivemongo.bson.Macros

case class Person(name: String, surname: String)
implicit val personHandler = Macros.handler[Person]
See also

Macros.Options for specific options

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Macros
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final class Placeholder extends AnyRef

    Only for internal purposes

Value Members

  1. macro def handler[A]: BSONDocumentHandler[A]

    Creates an instance of BSONReader and BSONWriter for case class A

  2. macro def handlerOpts[A, Opts <: Default]: BSONDocumentHandler[A]

    Creates an instance of BSONReader and BSONWriter for case class A, and takes additional options.

  3. macro def reader[A]: BSONDocumentReader[A]

    Creates an instance of BSONReader for case class A

    Creates an instance of BSONReader for case class A

    See also

    Macros

  4. macro def readerOpts[A, Opts <: Default]: BSONDocumentReader[A]

    Creates an instance of BSONReader for case class A and takes additional options

  5. macro def writer[A]: BSONDocumentWriter[A]

    Creates an instance of BSONWriter for case class A

  6. macro def writerOpts[A, Opts <: Default]: BSONDocumentWriter[A]

    Creates an instance of BSONWriter for case class A and takes additional options

  7. object Annotations

    Annotations to use on case classes that are being processed by macros.

  8. object Options

    Methods with 'Opts' postfix will take additional options in the form of type parameters that will customize behaviour of the macros during compilation.

  9. object Placeholder

    Only for internal purposes