Packages

c

org.checkita.dqf.core.checks.expression

ExpressionCheckCalculator

case class ExpressionCheckCalculator(checkId: String, formula: String) extends CheckCalculator with FormulaParser with Product with Serializable

Expression check calculator. Verifies if boolean expression defined in check evalutes to true (success) or false (failure).

checkId

Check ID

formula

Boolean expression to evaluate

To do

Expression check calculator is quite different from other check calculators and, therefore, does not conform to basic CheckCalculator class. Thus, implementation of Expression check calculator requires that most of the abstract methods from CheckCalculator be overridden to throw UnsupportedOperationException. In addition, there are plans to deprecate Trend Checks in the future due to their functionality now is moved (and enhanced) to trend metrics. Concluding the above, it is quite likely, that check calculators will be refactored later without changing the external API.

Linear Supertypes
Serializable, Serializable, Product, Equals, FormulaParser, JavaTokenParsers, RegexParsers, Parsers, CheckCalculator, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ExpressionCheckCalculator
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. FormulaParser
  7. JavaTokenParsers
  8. RegexParsers
  9. Parsers
  10. CheckCalculator
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ExpressionCheckCalculator(checkId: String, formula: String)

    checkId

    Check ID

    formula

    Boolean expression to evaluate

Type Members

  1. type Elem = Char
    Definition Classes
    RegexParsers → Parsers
  2. case class Error extends NoSuccess with Product with Serializable
    Definition Classes
    Parsers
  3. case class Failure extends NoSuccess with Product with Serializable
    Definition Classes
    Parsers
  4. type Input = Reader[Elem]
    Definition Classes
    Parsers
  5. sealed abstract class NoSuccess extends ParseResult[Nothing]
    Definition Classes
    Parsers
  6. trait OnceParser[+T] extends Parser[T]
    Definition Classes
    Parsers
  7. sealed abstract class ParseResult[+T] extends AnyRef
    Definition Classes
    Parsers
  8. abstract class Parser[+T] extends (Input) ⇒ ParseResult[T]
    Definition Classes
    Parsers
  9. case class Success[+T] extends ParseResult[T] with Product with Serializable
    Definition Classes
    Parsers
  10. case class ~[+a, +b] extends Product with Serializable
    Definition Classes
    Parsers
  11. case class BinaryFunc(t1: Tree, t2: Tree, f: (Double, Double) ⇒ Double) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  12. case class Bool(t: Boolean) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  13. case class BoolBinaryFunc(t1: Tree, t2: Tree, f: (Boolean, Boolean) ⇒ Boolean) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  14. case class BoolCompareFunc(t1: Tree, t2: Tree, f: (Double, Double) ⇒ Boolean) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  15. case class BoolUnaryFunc(t1: Tree, f: (Boolean) ⇒ Boolean) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  16. case class CaseWhen(cases: Seq[(Tree, Tree)], elseBranch: Tree) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  17. case class IfElse(condition: Tree, ifBranch: Tree, elseBranch: Tree) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  18. case class Num(t: Double) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser
  19. sealed abstract class Tree extends AnyRef
    Definition Classes
    FormulaParser
  20. case class UnaryFunc(t1: Tree, f: (Double) ⇒ Double) extends Tree with Product with Serializable
    Definition Classes
    FormulaParser

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def OnceParser[T](f: (Input) ⇒ ParseResult[T]): Parser[T] with OnceParser[T]
    Definition Classes
    Parsers
  5. def Parser[T](f: (Input) ⇒ ParseResult[T]): Parser[T]
    Definition Classes
    Parsers
  6. def accept[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
    Definition Classes
    Parsers
  7. def accept[ES](es: ES)(implicit f: (ES) ⇒ List[Elem]): Parser[List[Elem]]
    Definition Classes
    Parsers
  8. implicit def accept(e: Elem): Parser[Elem]
    Definition Classes
    Parsers
  9. def acceptIf(p: (Elem) ⇒ Boolean)(err: (Elem) ⇒ String): Parser[Elem]
    Definition Classes
    Parsers
  10. def acceptMatch[U](expected: String, f: PartialFunction[Elem, U]): Parser[U]
    Definition Classes
    Parsers
  11. def acceptSeq[ES](es: ES)(implicit f: (ES) ⇒ Iterable[Elem]): Parser[List[Elem]]
    Definition Classes
    Parsers
  12. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  13. val baseMetric: String
  14. def chainl1[T, U](first: ⇒ Parser[T], p: ⇒ Parser[U], q: ⇒ Parser[(T, U) ⇒ T]): Parser[T]
    Definition Classes
    Parsers
  15. def chainl1[T](p: ⇒ Parser[T], q: ⇒ Parser[(T, T) ⇒ T]): Parser[T]
    Definition Classes
    Parsers
  16. def chainr1[T, U](p: ⇒ Parser[T], q: ⇒ Parser[(T, U) ⇒ U], combine: (T, U) ⇒ U, first: U): Parser[U]
    Definition Classes
    Parsers
  17. val checkId: String
  18. val checkName: CheckName
  19. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  20. def commit[T](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    Parsers
  21. val compareMetric: Option[String]
  22. def decimalNumber: Parser[String]
    Definition Classes
    JavaTokenParsers
  23. def elem(e: Elem): Parser[Elem]
    Definition Classes
    Parsers
  24. def elem(kind: String, p: (Elem) ⇒ Boolean): Parser[Elem]
    Definition Classes
    Parsers
  25. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  26. def err(msg: String): Parser[Nothing]
    Definition Classes
    RegexParsers → Parsers
  27. def errorMsg(e: Throwable): String

    Generates error message provided with caught error.

    Generates error message provided with caught error.

    e

    Error that has been caught

    returns

    Error message

    Attributes
    protected
    Definition Classes
    CheckCalculator
  28. def evalArithmetic(formula: String): Double

    API to parse and evaluate arithmetic expression.

    API to parse and evaluate arithmetic expression.

    formula

    Arithmetic expression to parse

    returns

    Double evaluation result.

    Definition Classes
    FormulaParser
  29. def evalBoolean(formula: String): Boolean

    API to parse and evaluate boolean expression.

    API to parse and evaluate boolean expression.

    formula

    Boolean expression to parse

    returns

    Boolean evaluation result.

    Definition Classes
    FormulaParser
  30. def failure(msg: String): Parser[Nothing]
    Definition Classes
    Parsers
  31. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. def floatingPointNumber: Parser[String]
    Definition Classes
    JavaTokenParsers
  33. val formula: String
  34. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  35. def getDetailsMsg(compareMetricResult: Option[MetricCalculatorResult]): Option[String]

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    compareMetricResult

    Compare metric result

    returns

    Check details message

    Attributes
    protected
    Definition Classes
    ExpressionCheckCalculatorCheckCalculator
  36. def getMessage(baseMetricResult: MetricCalculatorResult, compareMetricResult: Option[MetricCalculatorResult], status: CalculatorStatus, statusString: String): String

    Generates comprehensive check message

    Generates comprehensive check message

    baseMetricResult

    Base metric result

    compareMetricResult

    Compare metric result

    status

    Check evaluation status

    statusString

    Check evaluation status string

    returns

    Check message

    Attributes
    protected
    Definition Classes
    CheckCalculator
  37. def getOptionHead(resSeq: Option[Seq[MetricCalculatorResult]]): Option[MetricCalculatorResult]

    Safely gets head out of optional sequence of metric calculator results.

    Safely gets head out of optional sequence of metric calculator results.

    resSeq

    Optional sequence of metric calculator results

    returns

    Optional metric calculator result

    Attributes
    protected
    Definition Classes
    CheckCalculator
  38. def guard[T](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    Parsers
  39. def handleWhiteSpace(source: CharSequence, offset: Int): Int
    Attributes
    protected
    Definition Classes
    RegexParsers
  40. def ident: Parser[String]
    Definition Classes
    JavaTokenParsers
  41. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  42. implicit def literal(s: String): Parser[String]
    Definition Classes
    RegexParsers
  43. def log[T](p: ⇒ Parser[T])(name: String): Parser[T]
    Definition Classes
    Parsers
  44. def mkList[T]: (~[T, List[T]]) ⇒ List[T]
    Definition Classes
    Parsers
  45. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  46. def not[T](p: ⇒ Parser[T]): Parser[Unit]
    Definition Classes
    Parsers
  47. val notFoundErrMsg: String
    Attributes
    protected
    Definition Classes
    CheckCalculator
  48. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  49. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  50. def opt[T](p: ⇒ Parser[T]): Parser[Option[T]]
    Definition Classes
    Parsers
  51. def parse[T](p: Parser[T], in: Reader): ParseResult[T]
    Definition Classes
    RegexParsers
  52. def parse[T](p: Parser[T], in: CharSequence): ParseResult[T]
    Definition Classes
    RegexParsers
  53. def parse[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
    Definition Classes
    RegexParsers
  54. def parseAll[T](p: Parser[T], in: CharSequence): ParseResult[T]
    Definition Classes
    RegexParsers
  55. def parseAll[T](p: Parser[T], in: Reader): ParseResult[T]
    Definition Classes
    RegexParsers
  56. def parseAll[T](p: Parser[T], in: Reader[Char]): ParseResult[T]
    Definition Classes
    RegexParsers
  57. def phrase[T](p: Parser[T]): Parser[T]
    Definition Classes
    RegexParsers → Parsers
  58. def positioned[T <: Positional](p: ⇒ Parser[T]): Parser[T]
    Definition Classes
    RegexParsers → Parsers
  59. def prepareFormula(formula: String): String

    Prepares formula for rendering and evaluation by removing white space characters, repetitive spaces and also by trimming leading and and trailing spaces.

    Prepares formula for rendering and evaluation by removing white space characters, repetitive spaces and also by trimming leading and and trailing spaces.

    formula

    Raw formula to prepare

    returns

    Formula prepared for futher rendering and evaluation.

    Definition Classes
    FormulaParser
  60. implicit def regex(r: Regex): Parser[String]
    Definition Classes
    RegexParsers
  61. def rep[T](p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  62. def rep1[T](first: ⇒ Parser[T], p0: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  63. def rep1[T](p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  64. def rep1sep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
    Definition Classes
    Parsers
  65. def repN[T](num: Int, p: ⇒ Parser[T]): Parser[List[T]]
    Definition Classes
    Parsers
  66. def repNM[T](n: Int, m: Int, p: Parser[T], sep: Parser[Any]): Parser[List[T]]
    Definition Classes
    Parsers
  67. def repsep[T](p: ⇒ Parser[T], q: ⇒ Parser[Any]): Parser[List[T]]
    Definition Classes
    Parsers
  68. def resultOnError(err: Throwable, baseMetricResults: Seq[MetricCalculatorResult], compareMetricResults: Option[Seq[MetricCalculatorResult]]): CheckCalculatorResult

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    err

    Error thrown during check evaluation

    baseMetricResults

    Sequence of base metric result for metric ID referenced by this check

    compareMetricResults

    Sequence of compare metric result for compareMetric ID referenced by this check

    returns

    Check result with Error status and captured error message

    Attributes
    protected
    Definition Classes
    ExpressionCheckCalculatorCheckCalculator
  69. def resultOnMetricNotFound: CheckCalculatorResult

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    returns

    Check result with Error status and 'not found' error message

    Attributes
    protected
    Definition Classes
    ExpressionCheckCalculatorCheckCalculator
  70. def run(metricResults: MetricResults)(implicit jobId: String, manager: Option[DqStorageManager], settings: AppSettings, spark: SparkSession, fs: FileSystem): CheckCalculatorResult

    Safely runs check provided with all the metric calculators results.

    Safely runs check provided with all the metric calculators results. There are three scenarios covered:

    • Check evaluates normally and returns either Success or Failure status (depending on whether check condition was met)
    • Check evaluation throws runtime error: check result with Error status and corresponding error message is returned.
    • Metric results are not found for metric ID defined in the check: check cannot be run at all and check result with Error status and corresponding message is returned.
    metricResults

    All computed metrics

    jobId

    Current Job ID

    manager

    Implicit storage manager used to load historical results

    settings

    Implicit application settings

    spark

    Implicit spark session object

    fs

    Implicit hadoop filesystem object

    returns

    Check result

    Definition Classes
    ExpressionCheckCalculatorCheckCalculator
  71. def skipWhitespace: Boolean
    Definition Classes
    RegexParsers
  72. def stringLiteral: Parser[String]
    Definition Classes
    JavaTokenParsers
  73. def success[T](v: T): Parser[T]
    Definition Classes
    Parsers
  74. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  75. def tryToRun(baseMetricResults: Seq[MetricCalculatorResult], compareMetricResults: Option[Seq[MetricCalculatorResult]])(implicit jobId: String, manager: Option[DqStorageManager], settings: AppSettings, spark: SparkSession, fs: FileSystem): CheckCalculatorResult

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    Expression checks have completely different evaluation approach and, therefore, this method is unsupported.

    baseMetricResults

    Sequence of base metric result for metric ID referenced by this check

    compareMetricResults

    Sequence of compare metric result for compareMetric ID referenced by this check

    jobId

    Current Job ID

    manager

    Implicit storage manager used to load historical results

    settings

    Implicit application settings

    spark

    Implicit spark session object

    fs

    Implicit hadoop filesystem object

    returns

    Check evaluation result with either Success or Failure status

    Attributes
    protected
    Definition Classes
    ExpressionCheckCalculatorCheckCalculator
  76. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  77. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  78. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  79. val whiteSpace: Regex
    Attributes
    protected
    Definition Classes
    RegexParsers
  80. def wholeNumber: Parser[String]
    Definition Classes
    JavaTokenParsers
  81. def windowString: Option[String]
    Attributes
    protected
    Definition Classes
    ExpressionCheckCalculatorCheckCalculator

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from FormulaParser

Inherited from JavaTokenParsers

Inherited from RegexParsers

Inherited from Parsers

Inherited from CheckCalculator

Inherited from AnyRef

Inherited from Any

Ungrouped