package sudoku.constraint; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import sudoku.structure.Sudoku; public interface IConstraint extends Serializable { boolean canBePlaced(final Sudoku s, int x, int y, int newSymbolIndex); default List getPossibleSymbols(final Sudoku s, int x, int y) { List possibilities = new ArrayList<>(); for (int i = 0; i < s.getSize(); i++) { if (canBePlaced(s, x, y, i)) { possibilities.add(i); } } return possibilities; } }