Package

io.fsq

rogue

Permalink

package rogue

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

Type Members

  1. sealed trait !<:<[A, B] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  2. abstract class AbstractArrayModifyField[V, DB, M] extends AnyRef

    Permalink
  3. abstract class AbstractArrayQueryField[F, V, DB, M, X] extends AbstractQueryField[Array[X], V, DB, M]

    Permalink
  4. abstract class AbstractListModifyField[V, DB, M, CC[X] <: Seq[X]] extends AnyRef

    Permalink
  5. abstract class AbstractListQueryField[F, V, DB, M, CC[X] <: Seq[X]] extends AbstractQueryField[CC[F], V, DB, M]

    Permalink
  6. abstract class AbstractModifyField[V, DB, M] extends AnyRef

    Permalink
  7. abstract class AbstractQueryField[F, V, DB, M] extends AnyRef

    Permalink

    Trait representing a field and all the operations on it.

    Trait representing a field and all the operations on it.

    F

    the underlying type of the field

    V

    the type of values allowed to be compared to the field

    DB

    the type V is converted into in the BSON representation of the field

    M

    the type of the owner of the field

  8. trait AddHint[-In, +Out] extends Required[In, Unhinted]

    Permalink
    Annotations
    @implicitNotFound( ... )
  9. trait AddLimit[-In, +Out] extends Required[In, Unlimited]

    Permalink
    Annotations
    @implicitNotFound( ... )
  10. trait AddNaturalOrder[-In, +Out] extends Required[In, Unordered]

    Permalink
    Annotations
    @implicitNotFound( ... )
  11. trait AddOrClause[-In, +Out] extends Required[In, HasNoOrClause]

    Permalink
    Annotations
    @implicitNotFound( ... )
  12. trait AddOrder[-In, +Out] extends Required[In, Unordered]

    Permalink
    Annotations
    @implicitNotFound( ... )
  13. trait AddSelect[-In, +Out, +One] extends Required[In, Unselected]

    Permalink
    Annotations
    @implicitNotFound( ... )
  14. trait AddShardAware[-In, +Specified, +AllOk] extends Required[In, ShardKeyNotSpecified]

    Permalink
  15. trait AddSkip[-In, +Out] extends Required[In, Unskipped]

    Permalink
    Annotations
    @implicitNotFound( ... )
  16. case class AllQueryClause[V](fieldName: String, vs: List[V]) extends IndexableQueryClause[List[V], Index] with Product with Serializable

    Permalink
  17. sealed trait AllShardsOk extends ShardAware

    Permalink
  18. class ArrayModifyField[V, M] extends AbstractArrayModifyField[V, AnyRef, M]

    Permalink
  19. trait AsyncDBCollectionFactory[MB, RB] extends AnyRef

    Permalink
  20. trait AsyncQueryExecutor[MB, RB] extends Rogue

    Permalink
  21. trait BSONType[T] extends AnyRef

    Permalink
  22. case class BetweenQueryClause[V](fieldName: String, lower: V, upper: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  23. class BsonRecordListModifyField[M, B] extends AbstractListModifyField[B, DBObject, M, List]

    Permalink
  24. class BsonRecordListQueryField[M, B] extends AbstractListQueryField[B, B, DBObject, M, List]

    Permalink
  25. class BsonRecordModifyField[M, B] extends AbstractModifyField[B, DBObject, M]

    Permalink
  26. class BsonRecordQueryField[M, B] extends AbstractQueryField[B, B, DBObject, M]

    Permalink
  27. class CaseClassListModifyField[V, M] extends AbstractListModifyField[V, DBObject, M, List]

    Permalink
  28. class CaseClassListQueryField[M, B] extends AbstractListQueryField[B, B, DBObject, M, List]

    Permalink
  29. class CaseClassQueryField[V, M] extends AnyRef

    Permalink
  30. trait DBCollectionFactory[MB, RB] extends AnyRef

    Permalink
  31. class DateModifyField[M] extends AbstractModifyField[Date, Date, M]

    Permalink
  32. class DateQueryField[M] extends AbstractQueryField[Date, DateTime, Date, M]

    Permalink
  33. class DateTimeModifyField[M] extends AbstractModifyField[DateTime, Date, M]

    Permalink
  34. class DateTimeQueryField[M] extends AbstractQueryField[DateTime, DateTime, Date, M]

    Permalink
  35. case class Degrees(value: Double) extends Product with Serializable

    Permalink
  36. sealed trait DocumentScan extends MaybeIndexed

    Permalink
  37. class DummyField[V, R] extends Field[V, R]

    Permalink
  38. case class ElemMatchWithPredicateClause[V](fieldName: String, clauses: Seq[QueryClause[_]]) extends IndexableQueryClause[V, DocumentScan] with Product with Serializable

    Permalink
  39. case class EmptyQueryClause[V](fieldName: String) extends IndexableQueryClause[V, Index] with Product with Serializable

    Permalink
  40. class EnumIdQueryField[M, E <: Value] extends AbstractQueryField[E, E, Int, M]

    Permalink
  41. class EnumNameQueryField[M, E <: Value] extends AbstractQueryField[E, E, String, M]

    Permalink
  42. class EnumerationListModifyField[V <: Value, M] extends AbstractListModifyField[V, String, M, List]

    Permalink
  43. class EnumerationListQueryField[V <: Value, M] extends AbstractListQueryField[V, V, String, M, List]

    Permalink
  44. class EnumerationModifyField[M, E <: Value] extends AbstractModifyField[E, String, M]

    Permalink
  45. case class EqClause[V, Ind <: MaybeIndexed](fieldName: String, value: V) extends IndexableQueryClause[V, Index] with Product with Serializable

    Permalink
  46. case class ExistsQueryClause(fieldName: String, v: Boolean) extends IndexableQueryClause[Boolean, IndexScan] with Product with Serializable

    Permalink
  47. case class FindAndModifyQuery[M, R](query: Query[M, R, _], mod: MongoModify) extends Product with Serializable

    Permalink
  48. class ForeignObjectIdQueryField[F <: ObjectId, M, T] extends ObjectIdQueryField[F, M]

    Permalink
  49. class GeoModifyField[M] extends AbstractModifyField[LatLong, List[Double], M]

    Permalink
  50. class GeoQueryField[M] extends AbstractQueryField[LatLong, LatLong, List[Double], M]

    Permalink
  51. case class GtEqQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  52. case class GtQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  53. trait HasFuture[T] extends AnyRef

    Permalink
  54. sealed trait HasNoOrClause extends AnyRef

    Permalink
  55. sealed trait HasOrClause extends AnyRef

    Permalink
  56. sealed trait HasntUsedIndex extends MaybeUsedIndex

    Permalink
  57. sealed trait Hinted extends AnyRef

    Permalink
  58. sealed trait Hn extends Hinted with Unhinted

    Permalink
  59. case class InQueryClause[V](fieldName: String, vs: List[V]) extends IndexableQueryClause[List[V], Index] with Product with Serializable

    Permalink
  60. sealed trait Index extends Indexable with IndexScannable

    Permalink
  61. sealed trait IndexScan extends IndexScannable

    Permalink
  62. sealed trait IndexScannable extends MaybeIndexed

    Permalink
  63. sealed trait Indexable extends MaybeIndexed

    Permalink
  64. abstract class IndexableQueryClause[V, Ind <: MaybeIndexed] extends QueryClause[V]

    Permalink
  65. type InitialState = Unordered with Unselected with Unlimited with Unskipped with HasNoOrClause with Unhinted with ShardKeyNotSpecified

    Permalink
  66. case class LatLong(lat: Double, long: Double) extends Product with Serializable

    Permalink
  67. sealed trait Lim extends Limited with Unlimited

    Permalink
  68. sealed trait Limited extends AnyRef

    Permalink
  69. class ListModifyField[V, M] extends AbstractListModifyField[V, AnyRef, M, List]

    Permalink
  70. class ListQueryField[V, M] extends AbstractListQueryField[V, V, AnyRef, M, List]

    Permalink
  71. case class LtEqQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  72. case class LtQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  73. final class MandatorySelectField[V, M] extends SelectField[V, M]

    Permalink
  74. class MapModifyField[V, M] extends AbstractModifyField[Map[String, V], Map[String, V], M]

    Permalink
  75. class MapQueryField[V, M] extends AnyRef

    Permalink
  76. sealed trait MaybeIndexed extends AnyRef

    Permalink
  77. sealed trait MaybeUsedIndex extends AnyRef

    Permalink
  78. case class ModQueryClause[V](fieldName: String, v: List[V]) extends IndexableQueryClause[List[V], IndexScan] with Product with Serializable

    Permalink
  79. class ModifyAddEachClause extends ModifyClause

    Permalink
  80. class ModifyBitClause extends ModifyClause

    Permalink
  81. class ModifyClause extends AnyRef

    Permalink
  82. class ModifyField[V, M] extends AbstractModifyField[V, AnyRef, M]

    Permalink
  83. class ModifyPullObjWithPredicateClause[V] extends ModifyClause

    Permalink
  84. class ModifyPullWithPredicateClause[V] extends ModifyClause

    Permalink
  85. class ModifyPushEachClause extends ModifyClause

    Permalink
  86. class ModifyPushEachSliceClause extends ModifyClause

    Permalink
  87. class ModifyPushEachSlicePositionClause extends ModifyClause

    Permalink
  88. case class ModifyQuery[M, +State](query: Query[M, _, State], mod: MongoModify) extends Product with Serializable

    Permalink
  89. class MongoAsyncJavaDriverAdapter[MB, RB] extends AnyRef

    Permalink
  90. class MongoJavaDriverAdapter[MB, RB] extends AnyRef

    Permalink
  91. case class NeQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  92. case class NearQueryClause[V](fieldName: String, v: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  93. case class NearSphereQueryClause[V](fieldName: String, lat: Double, lng: Double, radians: Radians) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  94. case class NinQueryClause[V](fieldName: String, vs: List[V]) extends IndexableQueryClause[List[V], DocumentScan] with Product with Serializable

    Permalink
  95. sealed trait NoIndexInfo extends Indexable with IndexScannable

    Permalink
  96. class NumericModifyField[V, M] extends AbstractModifyField[V, V, M]

    Permalink
  97. class NumericQueryField[V, M] extends AbstractQueryField[V, V, V, M]

    Permalink
  98. class ObjectIdQueryField[F <: ObjectId, M] extends NumericQueryField[F, M]

    Permalink
  99. final class OptionalSelectField[V, M] extends SelectField[Option[V], M]

    Permalink
  100. sealed trait Or extends HasOrClause with HasNoOrClause

    Permalink
  101. sealed trait Ord extends Ordered with Unordered

    Permalink
  102. sealed trait Ordered extends AnyRef

    Permalink
  103. type OrderedQuery[M] = Query[M, M, OrderedState]

    Permalink
  104. type OrderedState = Ordered with Unselected with Unlimited with Unskipped with HasNoOrClause with ShardKeyNotSpecified

    Permalink
  105. sealed trait PartialIndexScan extends IndexScannable

    Permalink
  106. class PromiseArrayListAdapter[R] extends SingleResultCallback[Collection[R]]

    Permalink
  107. class PromiseLongBooleanCallbackBridge extends SingleResultCallback[Long]

    Permalink
  108. class PromiseLongCallbackBridge extends SingleResultCallback[Long]

    Permalink
  109. class PromiseSingleResultAdapter[R] extends SingleResultCallback[Collection[R]]

    Permalink
  110. case class Query[M, R, +State](meta: M, collectionName: String, lim: Option[Int], sk: Option[Int], maxScan: Option[Int], comment: Option[String], hint: Option[ListMap[String, Any]], condition: AndCondition, order: Option[MongoOrder], select: Option[MongoSelect[M, R]], readPreference: Option[ReadPreference]) extends Product with Serializable

    Permalink

    The definition of methods needed to build a query.

    The definition of methods needed to build a query.

    To construct a query, an instance of a query-builder needs to be created. That's done by using an implicit conversion from an instance of a meta-record. In code, the user writes a query by calling one of the query construction methods on an instance of the query-record meta-record instance. The implicit conversion will construct an appropriate query builder from the meta-record.

    Query builders are parameterized using a collection of phantom types. For our purposes here, phantom types are types which are inferred by the type system, rather than being explicitly provided by users. The phantom types are inferred by the type system on the basis of what clauses are contained in the query. For example, if there's a ordering clause, that constrains the types so that the type system must infer a type parameter of type "Ordered". This use of phantom types allows the type system to prevent a range of query errors - for example, if two query clauses have incompatible ordering constraints, the type system will reject it.

    The specific mechanics of the type inference process are based on implicit parameters. A type can only get inferred into an expression based on a parameter. But we don't want people to have to specify parameters explicitly - that would wreck the syntax. Instead, we use implicit parameters. The inference system will find an implicit parameter that is type compatible with what's used in the rest of the expression.

    M

    the record type being queried.

    State

    a phantom type which defines the state of the builder.

  111. abstract class QueryClause[V] extends AnyRef

    Permalink
  112. trait QueryExecutor[MB, RB] extends Rogue

    Permalink
  113. class QueryField[V, M] extends AbstractQueryField[V, V, AnyRef, M]

    Permalink
  114. class QueryOptimizer extends AnyRef

    Permalink
  115. case class Radians(value: Double) extends Product with Serializable

    Permalink
  116. case class RawQueryClause(f: (BasicDBObjectBuilder) ⇒ Unit) extends IndexableQueryClause[Nothing, DocumentScan.type] with Product with Serializable

    Permalink
  117. case class RegexQueryClause[Ind <: MaybeIndexed](fieldName: String, actualIB: Ind, p: Pattern) extends IndexableQueryClause[Pattern, Ind] with Product with Serializable

    Permalink
  118. trait RequireShardKey[M, -S] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  119. class Required[-A, +B] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( "Cannot prove that ${A} <: ${B}" )
  120. class RequiredDummyField[V, R] extends RequiredField[V, R]

    Permalink
  121. trait Rogue extends AnyRef

    Permalink

    A utility trait containing typing shorthands, and a collection of implicit conversions that make query syntax much simpler.

    A utility trait containing typing shorthands, and a collection of implicit conversions that make query syntax much simpler.

    See also

    AbstractQuery for an example of the use of implicit conversions.

  122. class RogueException extends RuntimeException

    Permalink
  123. trait RogueReadSerializer[R] extends AnyRef

    Permalink
  124. trait RogueSerializer[From, To] extends RogueReadSerializer[To] with RogueWriteSerializer[From]

    Permalink
  125. trait RogueWriteSerializer[R] extends AnyRef

    Permalink
  126. class SafeModifyField[V, M] extends AnyRef

    Permalink
  127. sealed trait Sel extends Selected with SelectedOne with Unselected

    Permalink
  128. sealed abstract class SelectField[V, M] extends AnyRef

    Permalink

    Fields that can be turned into SelectFields can be used in a .select call.

    Fields that can be turned into SelectFields can be used in a .select call.

    This class is sealed because only RequiredFields and OptionalFields should be selectable. Be careful when adding subclasses of this class.

  129. class SelectableDummyField[V, R] extends OptionalField[V, R]

    Permalink
  130. sealed trait Selected extends AnyRef

    Permalink
  131. sealed trait SelectedOne extends Selected

    Permalink
  132. class SeqModifyField[V, M] extends AbstractListModifyField[V, AnyRef, M, Seq]

    Permalink
  133. class SeqQueryField[V, M] extends AbstractListQueryField[V, V, AnyRef, M, Seq]

    Permalink
  134. sealed trait Sh extends ShardKeyNotSpecified with ShardKeySpecified with AllShardsOk

    Permalink
  135. sealed trait ShardAware extends AnyRef

    Permalink
  136. trait ShardKey[V] extends AnyRef

    Permalink
  137. trait ShardKeyClause extends AnyRef

    Permalink
  138. sealed trait ShardKeyNotSpecified extends AnyRef

    Permalink
  139. sealed trait ShardKeySpecified extends ShardAware

    Permalink
  140. trait Sharded extends AnyRef

    Permalink
  141. trait ShardingOk[M, -S] extends AnyRef

    Permalink
    Annotations
    @implicitNotFound( ... )
  142. type SimpleQuery[M] = Query[M, M, InitialState]

    Permalink
  143. class SingleDocumentOptCallback[R] extends SingleResultCallback[Document] with HasFuture[Option[R]]

    Permalink
  144. class SingleDocumentOptCallbackWithRetry[R] extends SingleResultCallback[Document] with HasFuture[Option[R]]

    Permalink
  145. case class SizeQueryClause(fieldName: String, v: Int) extends IndexableQueryClause[Int, DocumentScan] with Product with Serializable

    Permalink
  146. sealed trait Sk extends Skipped with Unskipped

    Permalink
  147. sealed trait Skipped extends AnyRef

    Permalink
  148. case class StrictBetweenQueryClause[V](fieldName: String, lower: V, upper: V) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  149. class StringQueryField[F <: String, M] extends AbstractQueryField[F, F, F, M] with StringRegexOps[F, M]

    Permalink
  150. trait StringRegexOps[V, M] extends AnyRef

    Permalink
  151. class StringsListQueryField[M] extends AbstractListQueryField[String, String, String, M, List] with StringRegexOps[List[String], M]

    Permalink
  152. sealed trait TextIndex extends Indexable

    Permalink
  153. case class TypeQueryClause(fieldName: String, v: MongoType.Value) extends IndexableQueryClause[Int, IndexScan] with Product with Serializable

    Permalink
  154. sealed trait Unhinted extends AnyRef

    Permalink
  155. class UnitCallback[T] extends SingleResultCallback[T] with HasFuture[Unit]

    Permalink
  156. sealed trait Unlimited extends AnyRef

    Permalink
  157. sealed trait Unordered extends AnyRef

    Permalink
  158. sealed trait Unselected extends AnyRef

    Permalink
  159. sealed trait Unskipped extends AnyRef

    Permalink
  160. class UpdateResultCallback extends SingleResultCallback[UpdateResult] with HasFuture[Unit]

    Permalink
  161. class UpdateResultCallbackWithRetry extends SingleResultCallback[UpdateResult] with HasFuture[Unit]

    Permalink
  162. sealed trait UsedIndex extends MaybeUsedIndex

    Permalink
  163. case class WithinBoxClause[V](fieldName: String, lat1: Double, lng1: Double, lat2: Double, lng2: Double) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink
  164. case class WithinCircleClause[V](fieldName: String, lat: Double, lng: Double, radius: Double) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

    Permalink

Value Members

  1. object !<:<

    Permalink
  2. object AddHint

    Permalink
  3. object AddLimit

    Permalink
  4. object AddNaturalOrder

    Permalink
  5. object AddOrClause

    Permalink
  6. object AddOrder

    Permalink
  7. object AddSelect

    Permalink
  8. object AddShardAware

    Permalink
  9. object AddSkip

    Permalink
  10. object BSONType

    Permalink
  11. object BitOps extends Enumeration

    Permalink
  12. object CondOps extends Enumeration

    Permalink
  13. object DocumentScan extends DocumentScan with Product with Serializable

    Permalink
  14. object Index extends Index with Product with Serializable

    Permalink
  15. object IndexScan extends IndexScan with Product with Serializable

    Permalink
  16. object Iter

    Permalink

    Iteratee helper classes

  17. object ModOps extends Enumeration

    Permalink
  18. object MongoHelpers extends Rogue

    Permalink
  19. object MongoType extends Enumeration

    Permalink
  20. object NoIndexInfo extends NoIndexInfo with Product with Serializable

    Permalink
  21. object PartialIndexScan extends PartialIndexScan with Product with Serializable

    Permalink
  22. object QueryHelpers

    Permalink
  23. object RequireShardKey

    Permalink
  24. object Required

    Permalink
  25. object Rogue extends Rogue

    Permalink
  26. object ShardingOk

    Permalink
  27. object TextIndex extends TextIndex with Product with Serializable

    Permalink
  28. package codecs

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped