com.foursquare

rogue

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
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

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

    Annotations
    @implicitNotFound( ... )
  2. abstract class AbstractListModifyField[V, DB, M, CC[X] <: Seq[X]] extends AnyRef

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

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

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

    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

  6. trait AddLimit[-In, +Out] extends Required[In, Unlimited]

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

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

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

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

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

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

  13. sealed trait AllShardsOk extends ShardAware

  14. trait BSONType[T] extends AnyRef

  15. case class BetweenQueryClause[V](fieldName: String, lower: V, upper: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

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

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

  18. class BsonRecordModifyField[M, B] extends AbstractModifyField[B, DBObject, M]

  19. class BsonRecordQueryField[M, B] extends AbstractQueryField[B, B, DBObject, M]

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

  21. class CaseClassListQueryField[V, M] extends AbstractListQueryField[V, V, DBObject, M, List]

  22. class CaseClassQueryField[V, M] extends AnyRef

  23. trait DBCollectionFactory[MB] extends AnyRef

  24. class DateModifyField[M] extends AbstractModifyField[Date, Date, M]

  25. class DateQueryField[M] extends AbstractQueryField[Date, DateTime, Date, M]

  26. class DateTimeModifyField[M] extends AbstractModifyField[DateTime, Date, M]

  27. class DateTimeQueryField[M] extends AbstractQueryField[DateTime, DateTime, Date, M]

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

  29. sealed trait DocumentScan extends MaybeIndexed

  30. class DummyField[V, R] extends Field[V, R]

  31. case class ElemMatchWithPredicateClause[V](fieldName: String, clauses: Seq[QueryClause[_]], expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, DocumentScan] with Product with Serializable

  32. case class EmptyQueryClause[V](fieldName: String, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, Index] with Product with Serializable

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

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

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

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

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

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

  39. case class ExistsQueryClause(fieldName: String, v: Boolean, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[Boolean, IndexScan] with Product with Serializable

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

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

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

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

  44. case class GtEqQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  45. case class GtQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  46. sealed trait HasNoOrClause extends AnyRef

  47. sealed trait HasOrClause extends AnyRef

  48. sealed trait HasntUsedIndex extends MaybeUsedIndex

  49. case class InQueryClause[V](fieldName: String, vs: List[V], expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[List[V], Index] with Product with Serializable

  50. sealed trait Index extends Indexable with IndexScannable

  51. sealed trait IndexScan extends IndexScannable

  52. sealed trait IndexScannable extends MaybeIndexed

  53. sealed trait Indexable extends MaybeIndexed

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

  55. type InitialState = Unordered with Unselected with Unlimited with Unskipped with HasNoOrClause with ShardKeyNotSpecified

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

  57. sealed trait Lim extends Limited with Unlimited

  58. sealed trait Limited extends AnyRef

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

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

  61. case class LtEqQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  62. case class LtQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  63. final class MandatorySelectField[V, M] extends SelectField[V, M]

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

  65. class MapQueryField[V, M] extends AnyRef

  66. sealed trait MaybeIndexed extends AnyRef

  67. sealed trait MaybeUsedIndex extends AnyRef

  68. case class ModQueryClause[V](fieldName: String, v: List[V], expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[List[V], IndexScan] with Product with Serializable

  69. class ModifyAddEachClause extends ModifyClause

  70. class ModifyBitAndClause extends ModifyClause

  71. class ModifyBitOrClause extends ModifyClause

  72. class ModifyClause extends AnyRef

  73. class ModifyField[V, M] extends AbstractModifyField[V, AnyRef, M]

  74. class ModifyPullObjWithPredicateClause[V] extends ModifyClause

  75. class ModifyPullWithPredicateClause[V] extends ModifyClause

  76. class ModifyPushEachClause extends ModifyClause

  77. class ModifyPushEachSliceClause extends ModifyClause

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

  79. class MongoJavaDriverAdapter[MB] extends AnyRef

  80. case class NeQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  81. case class NearQueryClause[V](fieldName: String, v: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  82. case class NearSphereQueryClause[V](fieldName: String, lat: Double, lng: Double, radians: Radians, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  83. case class NinQueryClause[V](fieldName: String, vs: List[V], expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[List[V], DocumentScan] with Product with Serializable

  84. sealed trait NoIndexInfo extends Indexable with IndexScannable

  85. class NumericModifyField[V, M] extends AbstractModifyField[V, V, M]

  86. class NumericQueryField[V, M] extends AbstractQueryField[V, V, V, M]

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

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

  89. sealed trait Or extends HasOrClause with HasNoOrClause

  90. sealed trait Ord extends Ordered with Unordered

  91. sealed trait Ordered extends AnyRef

  92. type OrderedQuery[M] = Query[M, M, OrderedState]

  93. type OrderedState = Ordered with Unselected with Unlimited with Unskipped with HasNoOrClause with ShardKeyNotSpecified

  94. sealed trait PartialIndexScan extends IndexScannable

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

    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.

    R
    State

    a phantom type which defines the state of the builder.

  96. abstract class QueryClause[V] extends AnyRef

  97. trait QueryExecutor[MB] extends Rogue

  98. class QueryField[V, M] extends AbstractQueryField[V, V, AnyRef, M]

  99. class QueryOptimizer extends AnyRef

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

  101. case class RawQueryClause(f: (BasicDBObjectBuilder) ⇒ Unit, expectedIndexBehavior: MaybeIndexed = DocumentScan) extends IndexableQueryClause[Nothing, DocumentScan.type] with Product with Serializable

  102. case class RegexQueryClause[Ind <: MaybeIndexed](fieldName: String, actualIB: Ind, p: Pattern, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[Pattern, Ind] with Product with Serializable

  103. trait RequireShardKey[M, -S] extends AnyRef

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

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

  106. trait Rogue extends AnyRef

    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.

  107. class RogueException extends RuntimeException

  108. trait RogueSerializer[R] extends AnyRef

  109. class SafeModifyField[V, M] extends AnyRef

  110. sealed trait Sel extends Selected with SelectedOne with Unselected

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

    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.

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

  113. sealed trait Selected extends AnyRef

  114. sealed trait SelectedOne extends Selected

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

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

  117. sealed trait Sh extends ShardKeyNotSpecified with ShardKeySpecified with AllShardsOk

  118. sealed trait ShardAware extends AnyRef

  119. trait ShardKey[V] extends AnyRef

  120. trait ShardKeyClause extends AnyRef

  121. sealed trait ShardKeyNotSpecified extends AnyRef

  122. sealed trait ShardKeySpecified extends ShardAware

  123. trait Sharded extends AnyRef

  124. trait ShardingOk[M, -S] extends AnyRef

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

  126. case class SizeQueryClause(fieldName: String, v: Int, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[Int, DocumentScan] with Product with Serializable

  127. sealed trait Sk extends Skipped with Unskipped

  128. sealed trait Skipped extends AnyRef

  129. case class StrictBetweenQueryClause[V](fieldName: String, lower: V, upper: V, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

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

  131. trait StringRegexOps[V, M] extends AnyRef

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

  133. case class TypeQueryClause(fieldName: String, v: MongoType.Value, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[Int, IndexScan] with Product with Serializable

  134. sealed trait Unlimited extends AnyRef

  135. sealed trait Unordered extends AnyRef

  136. sealed trait Unselected extends AnyRef

  137. sealed trait Unskipped extends AnyRef

  138. sealed trait UsedIndex extends MaybeUsedIndex

  139. case class WithinBoxClause[V](fieldName: String, lat1: Double, lng1: Double, lat2: Double, lng2: Double, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

  140. case class WithinCircleClause[V](fieldName: String, lat: Double, lng: Double, radius: Double, expectedIndexBehavior: MaybeIndexed = Index) extends IndexableQueryClause[V, PartialIndexScan] with Product with Serializable

Value Members

  1. object !<:<

  2. object AddLimit

  3. object AddOrClause

  4. object AddOrder

  5. object AddSelect

  6. object AddShardAware

  7. object AddSkip

  8. object BSONType

  9. object CondOps extends Enumeration

  10. object DocumentScan extends DocumentScan with Product with Serializable

  11. object Index extends Index with Product with Serializable

  12. object IndexScan extends IndexScan with Product with Serializable

  13. object Iter

    Iteratee helper classes

  14. object ModOps extends Enumeration

  15. object MongoHelpers extends Rogue

  16. object MongoType extends Enumeration

  17. object NoIndexInfo extends NoIndexInfo with Product with Serializable

  18. object PartialIndexScan extends PartialIndexScan with Product with Serializable

  19. object QueryHelpers

  20. object RequireShardKey

  21. object Required

  22. object Rogue extends Rogue

  23. object ShardingOk

Inherited from AnyRef

Inherited from Any

Ungrouped