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 AbstractListModifyField[V, DB, M, CC[X] <: Iterable[X]] extends AnyRef

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

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

    Permalink
  5. 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

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

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

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

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

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

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

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

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

    Permalink
  14. sealed trait AllShardsOk extends ShardAware

    Permalink
  15. trait BSONType[T] extends AnyRef

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

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

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

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

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

    Permalink
  21. case class BulkInsertOne[MetaRecord, Record](metaRecord: MetaRecord, record: Record) extends BulkOperation[MetaRecord, Record] with Product with Serializable

    Permalink
  22. sealed trait BulkModifyQueryOperation[MetaRecord, Record] extends BulkOperation[MetaRecord, Record]

    Permalink
  23. sealed trait BulkOperation[MetaRecord, Record] extends AnyRef

    Permalink
  24. sealed trait BulkQueryOperation[MetaRecord, Record] extends BulkOperation[MetaRecord, Record]

    Permalink
  25. case class BulkRemove[MetaRecord, Record](query: Query[MetaRecord, Record, _]) extends BulkQueryOperation[MetaRecord, Record] with Product with Serializable

    Permalink
  26. case class BulkRemoveOne[MetaRecord, Record](query: Query[MetaRecord, Record, _]) extends BulkQueryOperation[MetaRecord, Record] with Product with Serializable

    Permalink
  27. case class BulkReplaceOne[MetaRecord, Record](query: Query[MetaRecord, Record, _], record: Record, upsert: Boolean) extends BulkQueryOperation[MetaRecord, Record] with Product with Serializable

    Permalink
  28. case class BulkUpdateMany[MetaRecord, Record](modifyQuery: ModifyQuery[MetaRecord, _], upsert: Boolean) extends BulkModifyQueryOperation[MetaRecord, Record] with Product with Serializable

    Permalink
  29. case class BulkUpdateOne[MetaRecord, Record](modifyQuery: ModifyQuery[MetaRecord, _], upsert: Boolean) extends BulkModifyQueryOperation[MetaRecord, Record] with Product with Serializable

    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. class EnumerationSetModifyField[V <: Value, M] extends AbstractListModifyField[V, String, M, Set]

    Permalink
  46. class EnumerationSetQueryField[V <: Value, M] extends AbstractListQueryField[V, V, String, M, Set]

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

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

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

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

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

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

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

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

    Permalink
  55. sealed trait HasNoOrClause extends AnyRef

    Permalink
  56. sealed trait HasOrClause extends AnyRef

    Permalink
  57. sealed trait HasntUsedIndex extends MaybeUsedIndex

    Permalink
  58. sealed trait Hinted extends AnyRef

    Permalink
  59. sealed trait Hn extends Hinted with Unhinted

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

    Permalink
  61. sealed trait Index extends Indexable with IndexScannable

    Permalink
  62. trait IndexCheckerLogger extends AnyRef

    Permalink
  63. sealed trait IndexScan extends IndexScannable

    Permalink
  64. sealed trait IndexScannable extends MaybeIndexed

    Permalink
  65. sealed trait Indexable extends MaybeIndexed

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

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

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

    Permalink
  69. class LegacyMongo extends AnyRef

    Permalink
  70. sealed trait Lim extends Limited with Unlimited

    Permalink
  71. sealed trait Limited extends AnyRef

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

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

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

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

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

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

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

    Permalink
  79. sealed trait MaybeIndexed extends AnyRef

    Permalink
  80. sealed trait MaybeUsedIndex extends AnyRef

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

    Permalink
  82. class ModifyAddEachClause extends ModifyClause

    Permalink
  83. class ModifyBitClause extends ModifyClause

    Permalink
  84. class ModifyClause extends AnyRef

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

    Permalink
  86. class ModifyLongBitClause extends ModifyClause

    Permalink
  87. class ModifyPullObjWithPredicateClause[V] extends ModifyClause

    Permalink
  88. class ModifyPullWithPredicateClause[V] extends ModifyClause

    Permalink
  89. class ModifyPushEachClause extends ModifyClause

    Permalink
  90. class ModifyPushEachSliceClause extends ModifyClause

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

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

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

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

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

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

    Permalink
  97. sealed trait NoIndexInfo extends Indexable with IndexScannable

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

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

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

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

    Permalink
  102. sealed trait Or extends HasOrClause with HasNoOrClause

    Permalink
  103. sealed trait Ord extends Ordered with Unordered

    Permalink
  104. sealed trait Ordered extends AnyRef

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

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

    Permalink
  107. sealed trait PartialIndexScan extends IndexScannable

    Permalink
  108. case class Query[M, R, +State](meta: M, collectionName: String, lim: Option[Int], sk: Option[Int], comment: Option[String], hint: Option[MongoIndex[M]], 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.

  109. abstract class QueryClause[V] extends AnyRef

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

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

    Permalink
  112. class QueryOptimizer extends AnyRef

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

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

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

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

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

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

    Permalink
  119. 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.

  120. class RogueException extends RuntimeException

    Permalink
  121. trait RogueReadSerializer[R] extends AnyRef

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

    Permalink
  123. trait RogueWriteSerializer[R] extends AnyRef

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

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

    Permalink
  126. 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.

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

    Permalink
  128. sealed trait Selected extends AnyRef

    Permalink
  129. sealed trait SelectedOne extends Selected

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

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

    Permalink
  132. class SetModifyField[V, M] extends AbstractListModifyField[V, AnyRef, M, Set]

    Permalink
  133. class SetQueryField[V, M] extends AbstractListQueryField[V, V, AnyRef, M, Set]

    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. case class SizeQueryClause(fieldName: String, v: Int) extends IndexableQueryClause[Int, DocumentScan] with Product with Serializable

    Permalink
  144. sealed trait Sk extends Skipped with Unskipped

    Permalink
  145. sealed trait Skipped extends AnyRef

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

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

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

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

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

    Permalink
  151. sealed trait Unhinted extends AnyRef

    Permalink
  152. sealed trait Unlimited extends AnyRef

    Permalink
  153. sealed trait Unordered extends AnyRef

    Permalink
  154. sealed trait Unselected extends AnyRef

    Permalink
  155. sealed trait Unskipped extends AnyRef

    Permalink
  156. sealed trait UsedIndex extends MaybeUsedIndex

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

    Permalink
  158. 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 AddOrClause

    Permalink
  5. object AddOrder

    Permalink
  6. object AddSelect

    Permalink
  7. object AddShardAware

    Permalink
  8. object AddSkip

    Permalink
  9. object BSONType

    Permalink
  10. object BitOps extends Enumeration

    Permalink
  11. object BulkModifyQueryOperation

    Permalink
  12. object BulkQueryOperation

    Permalink
  13. object CondOps extends Enumeration

    Permalink
  14. object DocumentScan extends DocumentScan with Product with Serializable

    Permalink
  15. object Index extends Index with Product with Serializable

    Permalink
  16. object IndexScan extends IndexScan with Product with Serializable

    Permalink
  17. object Iter

    Permalink

    Iteratee helper classes, modeled off of a Subscriber interface.

    Iteratee helper classes, modeled off of a Subscriber interface. An (Event[T] => Command[S]) is like a Subscriber[T] that mutates some state S

  18. object IterUtil

    Permalink
  19. object ModOps extends Enumeration

    Permalink
  20. object MongoHelpers extends Rogue

    Permalink
  21. object MongoType extends Enumeration

    Permalink
  22. object NoIndexInfo extends NoIndexInfo with Product with Serializable

    Permalink
  23. object PartialIndexScan extends PartialIndexScan with Product with Serializable

    Permalink
  24. object QueryHelpers

    Permalink
  25. object RequireShardKey

    Permalink
  26. object Required

    Permalink
  27. object Rogue extends Rogue

    Permalink
  28. object ShardingOk

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped