25.3. Sudoku Example: Java Source and Rules

  • The Java source code can be found in the /src/main/java/org/drools/examples/sudoku directory, with the two DRL files defining the rules located in the /src/main/rules/org/drools/examples/sudoku directory.
  • The package org.drools.examples.sudoku.swing contains a set of classes which implement a framework for Sudoku puzzles. This package does not have any dependencies on the JBoss Rules libraries.
  • SudokuGridModel defines an interface which can be implemented to store a Sudoku puzzle as a 9x9 grid of Cell objects.
  • SudokuGridView is a Swing component which can visualize any implementation of SudokuGridModel.
  • SudokuGridEvent and SudokuGridListener are used to communicate state changes between the model and the view. Events are fired when a cell's value is resolved or changed.
  • SudokuGridSamples provides a number of partially filled Sudoku puzzles for demonstration purposes.
  • The package org.drools.examples.sudoku.rules contains a utility class with a method for compiling DRL files.
  • The package org.drools.examples.sudoku contains a set of classes implementing the elementary Cell object and its various aggregations. It contains the CellFile subtypes CellRow, CellCol and CellSqr, all of which are subtypes of CellGroup.