Class MultiJoinInput

java.lang.Object
io.deephaven.engine.table.MultiJoinInput

@Immutable public abstract class MultiJoinInput extends Object
An input to a multiJoin.

The table, key columns, and columns to add are encapsulated in the join descriptor.

  • Constructor Details

    • MultiJoinInput

      public MultiJoinInput()
  • Method Details

    • of

      public static MultiJoinInput of(@NotNull @NotNull Table inputTable, @NotNull @NotNull JoinMatch[] columnsToMatch, @NotNull @NotNull JoinAddition[] columnsToAdd)
      Create a multiJoin table input.
      Parameters:
      inputTable - The table to include in a multiJoin
      columnsToMatch - An array of JoinMatch specifying match conditions
      columnsToAdd - An array of JoinAddition specifying the columns to add
    • of

      public static MultiJoinInput of(@NotNull @NotNull Table inputTable, @NotNull @NotNull Collection<? extends JoinMatch> columnsToMatch, @NotNull @NotNull Collection<? extends JoinAddition> columnsToAdd)
      Create a multiJoin table input.
      Parameters:
      inputTable - The table to include in a multiJoin
      columnsToMatch - A collection of JoinMatch specifying the key columns
      columnsToAdd - A collection of JoinAddition specifying the columns to add
    • of

      public static MultiJoinInput of(@NotNull @NotNull Table inputTable, @NotNull @NotNull String[] columnsToMatch, @NotNull @NotNull String[] columnsToAdd)
      Create a multiJoin table input.
      Parameters:
      inputTable - The table to include in a multiJoin
      columnsToMatch - The key columns, in string format (e.g. "ResultKey=SourceKey" or "KeyInBoth").
      columnsToAdd - The columns to add, in string format (e.g. "ResultColumn=SourceColumn" or "SourceColumnToAddWithSameName"); empty for all columns
    • of

      public static MultiJoinInput of(@NotNull @NotNull Table inputTable, @NotNull @NotNull String... columnsToMatch)
      Create a multiJoin table input.

      Parameters:
      inputTable - The table to include in a multiJoin
      columnsToMatch - The key columns, in string format (e.g. "ResultKey=SourceKey" or "KeyInBoth").
    • of

      public static MultiJoinInput of(@NotNull @NotNull Table inputTable, String columnsToMatch, String columnsToAdd)
      Create a multiJoin table input.
      Parameters:
      inputTable - The table to include in a multiJoin
      columnsToMatch - A comma separated list of key columns, in string format (e.g. "ResultKey=SourceKey" or "KeyInBoth").
      columnsToAdd - A comma separated list of columns to add, in string format (e.g. "ResultColumn=SourceColumn" or "SourceColumnToAddWithSameName"); empty for all columns
    • from

      @NotNull public static @NotNull MultiJoinInput[] from(@NotNull @NotNull String[] keys, @NotNull @NotNull Table[] inputTables)
      Create an array of MultiJoinInput with common keys; includes all non-key columns as output columns.
      Parameters:
      keys - The key columns, common to all tables
      inputTables - An array of tables to include in the output
    • from

      @NotNull public static @NotNull MultiJoinInput[] from(@Nullable @Nullable String columnsToMatch, @NotNull @NotNull Table... inputTables)
      Create an array of MultiJoinInput with common keys; includes all non-key columns as output columns.
      Parameters:
      columnsToMatch - A comma separated list of key columns, in string format (e.g. "ResultKey=SourceKey" or "KeyInBoth").
      inputTables - An array of tables to include in the output
    • inputTable

      @Parameter public abstract Table inputTable()
    • columnsToMatch

      @Parameter public abstract JoinMatch[] columnsToMatch()
    • columnsToAdd

      @Parameter public abstract JoinAddition[] columnsToAdd()