All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.squeryl.dsl.boilerplate.GroupBySignatures.scala Maven / Gradle / Ivy

Go to download

A Scala ORM and DSL for talking with Databases using minimum verbosity and maximum type safety

The newest version!
package org.squeryl.dsl.boilerplate

import org.squeryl.dsl.fsm.{GroupQueryYield, QueryElements, GroupByState}
import org.squeryl.dsl.TypedExpression

trait GroupBySignatures {
  self: QueryElements[_] =>

  def groupBy[T1](e1: => TypedExpression[T1, _]): GroupByState[T1] =
    new GroupQueryYield[T1](this, () => List(e1))


  def groupBy[T1, T2](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _]
  ): GroupByState[Product2[T1, T2]] =
    new GroupQueryYield[Product2[T1, T2]](
      this,
      () => List(e1, e2)
    )

  def groupBy[T1, T2, T3](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _]
  ): GroupByState[Product3[T1, T2, T3]] =
    new GroupQueryYield[Product3[T1, T2, T3]](
      this,
      () => List(e1, e2, e3)
    )

  def groupBy[T1, T2, T3, T4](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _]
  ): GroupByState[Product4[T1, T2, T3, T4]] =
    new GroupQueryYield[Product4[T1, T2, T3, T4]](
      this,
      () => List(e1, e2, e3, e4)
    )

  def groupBy[T1, T2, T3, T4, T5](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _]
  ): GroupByState[Product5[T1, T2, T3, T4, T5]] =
    new GroupQueryYield[Product5[T1, T2, T3, T4, T5]](
      this,
      () => List(e1, e2, e3, e4, e5)
    )

  def groupBy[T1, T2, T3, T4, T5, T6](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _]
  ): GroupByState[Product6[T1, T2, T3, T4, T5, T6]] =
    new GroupQueryYield[Product6[T1, T2, T3, T4, T5, T6]](
      this,
      () => List(e1, e2, e3, e4, e5, e6)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _]
  ): GroupByState[Product7[T1, T2, T3, T4, T5, T6, T7]] =
    new GroupQueryYield[Product7[T1, T2, T3, T4, T5, T6, T7]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _]
  ): GroupByState[Product8[T1, T2, T3, T4, T5, T6, T7, T8]] =
    new GroupQueryYield[Product8[T1, T2, T3, T4, T5, T6, T7, T8]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _]
  ): GroupByState[Product9[T1, T2, T3, T4, T5, T6, T7, T8, T9]] =
    new GroupQueryYield[Product9[T1, T2, T3, T4, T5, T6, T7, T8, T9]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _]
  ): GroupByState[Product10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]] =
    new GroupQueryYield[Product10[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _]
  ): GroupByState[Product11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]] =
    new GroupQueryYield[Product11[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _]
  ): GroupByState[Product12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]] =
    new GroupQueryYield[Product12[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _]
  ): GroupByState[Product13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]] =
    new GroupQueryYield[Product13[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _]
  ): GroupByState[Product14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]] =
    new GroupQueryYield[Product14[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _]
  ): GroupByState[Product15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]] =
    new GroupQueryYield[Product15[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _]
  ): GroupByState[Product16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]] =
    new GroupQueryYield[Product16[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _]
  ): GroupByState[Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]] =
    new GroupQueryYield[Product17[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _], e18: => TypedExpression[T18, _]
  ): GroupByState[Product18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]] =
    new GroupQueryYield[Product18[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _], e18: => TypedExpression[T18, _], e19: => TypedExpression[T19, _]
  ): GroupByState[Product19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]] =
    new GroupQueryYield[Product19[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _], e18: => TypedExpression[T18, _], e19: => TypedExpression[T19, _], e20: => TypedExpression[T20, _]
  ): GroupByState[Product20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]] =
    new GroupQueryYield[Product20[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _], e18: => TypedExpression[T18, _], e19: => TypedExpression[T19, _], e20: => TypedExpression[T20, _], e21: => TypedExpression[T21, _]
  ): GroupByState[Product21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]] =
    new GroupQueryYield[Product21[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21)
    )

  def groupBy[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22](
    e1: => TypedExpression[T1, _], e2: => TypedExpression[T2, _], e3: => TypedExpression[T3, _], e4: => TypedExpression[T4, _], e5: => TypedExpression[T5, _], e6: => TypedExpression[T6, _], e7: => TypedExpression[T7, _], e8: => TypedExpression[T8, _], e9: => TypedExpression[T9, _], e10: => TypedExpression[T10, _], e11: => TypedExpression[T11, _], e12: => TypedExpression[T12, _], e13: => TypedExpression[T13, _], e14: => TypedExpression[T14, _], e15: => TypedExpression[T15, _], e16: => TypedExpression[T16, _], e17: => TypedExpression[T17, _], e18: => TypedExpression[T18, _], e19: => TypedExpression[T19, _], e20: => TypedExpression[T20, _], e21: => TypedExpression[T21, _], e22: => TypedExpression[T22, _]
  ): GroupByState[Product22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]] =
    new GroupQueryYield[Product22[T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22]](
      this,
      () => List(e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22)
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy