| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- public final class BoardCoordinate {
-
- private final int rank;
-
- private final int file;
-
- public BoardCoordinate(final int rank, final int file) throws IllegalArgumentException {
- this.rank = rank;
- this.file = file;
-
- validateInputs();
- }
-
- public int getRank() {
- return rank;
- }
-
- public int getFile() {
- return file;
- }
-
- private void validateInputs() throws IllegalArgumentException {
- validateCoordinateComponent(rank, "rank");
- validateCoordinateComponent(file, "file");
- }
-
- private void validateCoordinateComponent(final int value, final String componentName)
- throws IllegalArgumentException {
-
- if (value < 0) {
- throw new IllegalArgumentException("Coordinate must have positive " + componentName + ".");
- }
-
- if (value > 7) {
- throw new IllegalArgumentException("Coordinate must have " + componentName + " <= 7.");
- }
- }
-
- }
|