diff --git a/src/main/java/net/dean/jraw/models/LocationHint.java b/src/main/java/net/dean/jraw/models/LocationHint.java index 1e0f653f6..89884bc66 100644 --- a/src/main/java/net/dean/jraw/models/LocationHint.java +++ b/src/main/java/net/dean/jraw/models/LocationHint.java @@ -12,6 +12,8 @@ public final class LocationHint { private static final EnumMap instances = new EnumMap<>(TraversalMethod.class); private LocationHint(TraversalMethod method) { + if (method == null) + throw new NullPointerException("Traversal method cannot be null"); this.method = method; } @@ -44,4 +46,26 @@ public static LocationHint anywhere() { TraversalMethod getTraversalMethod() { return method; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + LocationHint that = (LocationHint) o; + + return method == that.method; + } + + @Override + public int hashCode() { + return method.hashCode(); + } + + @Override + public String toString() { + return "LocationHint {" + + "method=" + method + + '}'; + } }