Package org.refcodes.checkerboard
Enum Rotation
- java.lang.Object
-
- java.lang.Enum<Rotation>
-
- org.refcodes.checkerboard.Rotation
-
public enum Rotation extends java.lang.Enum<Rotation>
Rotation in terms of "clockwise" or "anti-clockwise". Most useful for getting the next state from aVonNeumannNeighbourhood
orMooreNeighbourhood
element by calling itsNeighbourhood.next(Rotation)
method.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description ANTI_CLOCKWISE
Represents an anti-clockwise rotation.CLOCKWISE
Represents a clockwise rotation.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Rotation
inverse()
Inverts the rotation direction.<N extends Neighbourhood<N>>
Nnext(N aNeighbourhood)
Returns the next neighbourhood relative to the provided neighbourhood.static Rotation
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Rotation[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Method Detail
-
values
public static Rotation[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Rotation c : Rotation.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Rotation valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
inverse
public Rotation inverse()
Inverts the rotation direction. ACLOCKWISE
rotation becomes anANTI_CLOCKWISE
rotation and vice versa.- Returns:
- The inverted ("the other way round") rotation.
-
next
public <N extends Neighbourhood<N>> N next(N aNeighbourhood)
Returns the next neighbourhood relative to the provided neighbourhood. Depending on theRotation
state, eitherNeighbourhood.clockwiseNext()
CLOCKWISE
orNeighbourhood.clockwisePrevious()
ANTI_CLOCKWISE
- Type Parameters:
N
- The neighbourhood such as theVonNeumannNeighbourhood
or theMooreNeighbourhood
.- Parameters:
aNeighbourhood
- The current state for which to retrieve the next neighbourhood.- Returns:
- The next state relative to the given state.
-
-