Packages

object Macros

Macros for generating BSONReader and BSONWriter at compile time.

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

Macros.Options for specific options

MacroConfiguration for extended configuration

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. All

Type Members

  1. final class LocalVar[T] extends AnyRef

    Only for internal purposes

  2. sealed trait Options extends AnyRef

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

  3. final class Placeholder extends AnyRef

    Only for internal purposes

  4. final class WithOptions[Opts <: Options] extends AnyRef

    Macros for generating BSONReader and BSONWriter at compile time, with given options.

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def configured[Opts <: Options](implicit config: Aux[Opts]): WithOptions[Opts]

    Returns macros using the current BSON configuration.

    Returns macros using the current BSON configuration.

    Opts

    the compile-time options

    import reactivemongo.api.bson.{
      BSONDocumentReader, MacroConfiguration, Macros
    }
    
    // Materializes a `BSONDocumentReader[Foo]`,
    // with the configuration resolved at compile time
    val r1: BSONDocumentReader[Foo] = Macros.configured.reader[Foo]
    
    val r2: BSONDocumentReader[Foo] = Macros.configured(
      MacroConfiguration.simpleTypeName).reader[Foo]
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  11. macro def handler[A]: BSONDocumentHandler[A]

    Creates a BSONDocumentHandler for type A.

    Creates a BSONDocumentHandler for type A.

    A

    the type of the value represented as BSON

    Annotations
    @SuppressWarnings()
  12. macro def handlerOpts[A, Opts <: Default]: BSONDocumentHandler[A]

    Creates a BSONDocumentHandler for type A and takes additional options.

    Creates a BSONDocumentHandler for type A and takes additional options.

    A

    the type of the value represented as BSON

    Opts

    the compile-time options

    Annotations
    @SuppressWarnings()
  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. macro def reader[A]: BSONDocumentReader[A]

    Creates a BSONDocumentReader for type A.

    Creates a BSONDocumentReader for type A.

    A

    the type of the value represented as BSON

    Annotations
    @SuppressWarnings()
  19. macro def readerOpts[A, Opts <: Default]: BSONDocumentReader[A]

    Creates a BSONDocumentReader for type A and takes additional options.

    Creates a BSONDocumentReader for type A and takes additional options.

    A

    the type of the value represented as BSON

    Opts

    the compile-time options

    Annotations
    @SuppressWarnings()
  20. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  21. def toString(): String
    Definition Classes
    AnyRef → Any
  22. def using[Opts <: Options]: WithOptions[Opts]

    Returns an inference context to call the BSON macros, using explicit compile-time options.

    Returns an inference context to call the BSON macros, using explicit compile-time options.

    Opts

    the compile-time options

    import reactivemongo.api.bson.{
      BSONDocumentReader, MacroConfiguration, Macros
    }
    
    val w: BSONDocumentWriter[Bar] =
      Macros.using[Options.Default].writer[Bar]
  23. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. macro def writer[A]: BSONDocumentWriter[A]

    Creates a BSONDocumentWriter for type A.

    Creates a BSONDocumentWriter for type A.

    A

    the type of the value represented as BSON

    Annotations
    @SuppressWarnings()
  27. macro def writerOpts[A, Opts <: Default]: BSONDocumentWriter[A]

    Creates a BSONDocumentWriter for type A and takes additional options.

    Creates a BSONDocumentWriter for type A and takes additional options.

    A

    the type of the value represented as BSON

    Opts

    the compile-time options

    Annotations
    @SuppressWarnings()
  28. object Annotations

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

  29. object Options
  30. object Placeholder

    Only for internal purposes

Inherited from AnyRef

Inherited from Any

Ungrouped