Sha256: f6172b4e427d29c548fff1262f128fb577438c8846dc54b51977bde0eb4d846a

Contents?: true

Size: 983 Bytes

Versions: 253

Compression:

Stored size: 983 Bytes

Contents

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.");
        }
    }

}

Version data entries

253 entries across 253 versions & 1 rubygems

Version Path
trackler-2.2.1.51 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.50 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.49 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.48 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.47 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.46 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.45 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.44 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.43 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.42 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.41 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.40 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.39 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.38 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.37 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.36 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.35 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.34 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.33 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java
trackler-2.2.1.32 tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java