Packages

sealed trait WatchBuilder[T] extends AnyRef

A builder for the watch collection helper, which allows to consume the collection's ChangeStream.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. WatchBuilder
  2. AnyRef
  3. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract val context: GenericCollection.AggregatorContext[T]
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to any2stringadd[GenericCollection.WatchBuilder[T]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (GenericCollection.WatchBuilder[T], B)
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to ArrowAssoc[GenericCollection.WatchBuilder[T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  8. def cursor[AC[_] <: WithOps[_]](implicit cp: Aux[T, AC]): AC[T]

    Creates a cursor for the changeStream of this collection, as configured by the builder.

    Creates a cursor for the changeStream of this collection, as configured by the builder. The resulting cursor implicitly has a tailable and awaitData behavior and requires some special handling:

    1. The cursor will never be exhausted, unless the change stream is invalidated (see https://docs.mongodb.com/manual/reference/change-events/#invalidate-event). Therefore, you need to ensure that either: - you consume a bounded number of events from the stream (such as when using collect, foldWhile, etc.) - you close the cursor explicitly when you no longer need it (the cursor provider needs to support such a functionality) - you only start a finite number of unbounded cursors which follow the lifecycle of your whole application (for example they will be shut down along with the driver when the app goes down). In particular, using fold with the default unbounded maxSize will yield a Future which will never resolve.

    2. The cursor may yield no results within any given finite time bounds, if there are no changes in the underlying collection. Therefore, the Futures resulting from the cursor operations may never resolve. Unless you are in a fully reactive scenario, you may want to add some timeout behavior to the resulting Future. In that case, remember to explicitly close the cursor when the timeout triggers, so that you don't leak the cursor (the cursor provider needs to support such a functionality).

    3. New change streams return no data when the cursor is initially established (only subsequent GetMore commands will actually return the subsequent events). Therefore, such a cursor head will always be empty. Only folding the cursor (directly or through a higher-level cursor provider) will provide the next change event.

    4. Resumed change streams (via id or operation time) will return the next event when the cursor is initially established, if there is is some next event. Therefore, head is guaranteed to eventually return the next change event beyond the resume point, when such an event appears.

  9. def ensuring(cond: (GenericCollection.WatchBuilder[T]) ⇒ Boolean, msg: ⇒ Any): GenericCollection.WatchBuilder[T]
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  10. def ensuring(cond: (GenericCollection.WatchBuilder[T]) ⇒ Boolean): GenericCollection.WatchBuilder[T]
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  11. def ensuring(cond: Boolean, msg: ⇒ Any): GenericCollection.WatchBuilder[T]
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: Boolean): GenericCollection.WatchBuilder[T]
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  15. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  16. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to StringFormat[GenericCollection.WatchBuilder[T]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  17. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  22. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  24. def toString(): String
    Definition Classes
    AnyRef → Any
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  28. def [B](y: B): (GenericCollection.WatchBuilder[T], B)
    Implicit
    This member is added by an implicit conversion from GenericCollection.WatchBuilder[T] to ArrowAssoc[GenericCollection.WatchBuilder[T]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from GenericCollection.WatchBuilder[T] to any2stringadd[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion StringFormat from GenericCollection.WatchBuilder[T] to StringFormat[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion Ensuring from GenericCollection.WatchBuilder[T] to Ensuring[GenericCollection.WatchBuilder[T]]

Inherited by implicit conversion ArrowAssoc from GenericCollection.WatchBuilder[T] to ArrowAssoc[GenericCollection.WatchBuilder[T]]

Ungrouped