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

io.getquill.ast.Operator.scala Maven / Gradle / Ivy

There is a newer version: 4.6.0
Show newest version
package io.getquill.ast

sealed trait Operator

sealed trait UnaryOperator extends Operator
sealed trait PrefixUnaryOperator extends UnaryOperator
sealed trait PostfixUnaryOperator extends UnaryOperator
sealed trait BinaryOperator extends Operator

object EqualityOperator {
  case object `==` extends BinaryOperator
  case object `!=` extends BinaryOperator
}

object BooleanOperator {
  case object `!` extends PrefixUnaryOperator
  case object `&&` extends BinaryOperator
  case object `||` extends BinaryOperator
}

object StringOperator {
  case object `+` extends BinaryOperator
  case object `toUpperCase` extends PostfixUnaryOperator
  case object `toLowerCase` extends PostfixUnaryOperator
}

object NumericOperator {
  case object `-` extends BinaryOperator with PrefixUnaryOperator
  case object `+` extends BinaryOperator
  case object `*` extends BinaryOperator
  case object `>` extends BinaryOperator
  case object `>=` extends BinaryOperator
  case object `<` extends BinaryOperator
  case object `<=` extends BinaryOperator
  case object `/` extends BinaryOperator
  case object `%` extends BinaryOperator
}

object SetOperator {
  case object `contains` extends BinaryOperator
  case object `nonEmpty` extends PostfixUnaryOperator
  case object `isEmpty` extends PostfixUnaryOperator
}

sealed trait AggregationOperator extends Operator

object AggregationOperator {
  case object `min` extends AggregationOperator
  case object `max` extends AggregationOperator
  case object `avg` extends AggregationOperator
  case object `sum` extends AggregationOperator
  case object `size` extends AggregationOperator
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy