Class FormulaAnalyzer

java.lang.Object
io.deephaven.engine.table.impl.select.codegen.FormulaAnalyzer

public class FormulaAnalyzer extends Object
  • Constructor Details

    • FormulaAnalyzer

      public FormulaAnalyzer()
  • Method Details

    • analyze

      public static FormulaAnalyzer.Result analyze(String rawFormulaString, Map<String,ColumnDefinition<?>> columnDefinitionMap, QueryLanguageParser.Result queryLanguageResult)
    • parseFormula

      public static QueryLanguageParser.Result parseFormula(@NotNull @NotNull String formulaString, @NotNull @NotNull Map<String,ColumnDefinition<?>> availableColumns, @NotNull @NotNull Map<String,String> columnRenames, @NotNull @NotNull FormulaAnalyzer.Imports imports) throws Exception
      Get the compiled formula for a given formula string.
      Parameters:
      formulaString - The raw formula string
      availableColumns - The columns available for use in the formula
      columnRenames - Outer to inner column name mapping
      imports - The query scope variables, package, class, and static imports
      Returns:
      The parsed formula result
      Throws:
      Exception - If the formula cannot be parsed
    • parseFormula

      public static QueryLanguageParser.Result parseFormula(@NotNull @NotNull String formulaString, @NotNull @NotNull Map<String,ColumnDefinition<?>> availableColumns, @NotNull @NotNull Map<String,String> columnRenames, @NotNull @NotNull FormulaAnalyzer.Imports imports, boolean unboxArguments) throws Exception
      Get the compiled formula for a given formula string.
      Parameters:
      formulaString - The raw formula string
      availableColumns - The columns available for use in the formula
      columnRenames - Outer to inner column name mapping
      imports - The query scope variables, package, class, and static imports
      unboxArguments - If true it will unbox the query scope arguments
      Returns:
      The parsed formula result
      Throws:
      Exception - If the formula cannot be parsed