Class MazeTable

    • Field Detail

      • width

        final int width
      • height

        final int height
      • seed

        final int seed
      • solution

        final boolean solution
    • Constructor Detail

      • MazeTable

        private MazeTable​(int width,
                          int height,
                          int seed,
                          boolean solution)
    • Method Detail

      • generate

        public static ScannableTable generate​(int width,
                                              int height,
                                              int seed)
        Table function that generates a maze.

        Called by reflection based on the definition of the user-defined function in the schema.

        Parameters:
        width - Width of maze
        height - Height of maze
        seed - Random number seed, or -1 to create an unseeded random
        Returns:
        Table that prints the maze in text form
      • solve

        public static ScannableTable solve​(int width,
                                           int height,
                                           int seed)
        Table function that generates a maze with a solution.

        Called by reflection based on the definition of the user-defined function in the schema.

        Parameters:
        width - Width of maze
        height - Height of maze
        seed - Random number seed, or -1 to create an unseeded random
        Returns:
        Table that prints the maze in text form, with solution shown
      • getRowType

        public RelDataType getRowType​(RelDataTypeFactory typeFactory)
        Description copied from interface: Table
        Returns this table's row type.

        This is a struct type whose fields describe the names and types of the columns in this table.

        The implementer must use the type factory provided. This ensures that the type is converted into a canonical form; other equal types in the same query will use the same object.

        Specified by:
        getRowType in interface Table
        Parameters:
        typeFactory - Type factory with which to create the type
        Returns:
        Row type
      • scan

        public Enumerable<java.lang.Object[]> scan​(DataContext root)
        Description copied from interface: ScannableTable
        Returns an enumerator over the rows in this Table. Each row is represented as an array of its column values.
        Specified by:
        scan in interface ScannableTable