Table

The Mastermind table is a simple class that has only one very simple functionality:

public class Table {
    final ColorManager manager;
    final int nrColumns;
    final List<Row> rows;
    public Table(int nrColumns, ColorManager manager) {
        this.nrColumns = nrColumns;
        this.rows = new LinkedList<>();
        this.manager = manager;
    }
    public void addRow(Row row) {
        rows.add(row);
    }
}

There is one thing to mention, which is nothing new, but worth repeating. The rows variable is declared as final and it gets the value in the constructor. This is a List<Row> type variable. The fact that it is final means that it will hold the same list object during its lifetime. The length, members, and other features of the list may and will change. We will add new rows to ...

Get Java Projects - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.