@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Present<?> present = (Present<?>) o; if (value != null ? !value.equals(present.value) : present.value != null) { return false; } return captures.equals(present.captures); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Captures captures = (Captures) o; if (capture != null ? !capture.equals(captures.capture) : captures.capture != null) { return false; } if (value != null ? !value.equals(captures.value) : captures.value != null) { return false; } return tail != null ? tail.equals(captures.tail) : captures.tail == null; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } Captures captures = (Captures) o; if (capture != null ? !capture.equals(captures.capture) : captures.capture != null) { return false; } if (value != null ? !value.equals(captures.value) : captures.value != null) { return false; } return tail != null ? tail.equals(captures.tail) : captures.tail == null; }
@SuppressWarnings("unchecked cast") public <T> T get(Capture<T> capture) { if (this.equals(NIL)) { throw new NoSuchElementException("Requested value for unknown Capture. Was it registered in the Pattern?"); } else if (this.capture.equals(capture)) { return (T) value; } else { return tail.get(capture); } }
@SuppressWarnings("unchecked cast") public <T> T get(Capture<T> capture) { if (this.equals(NIL)) { throw new NoSuchElementException("Requested value for unknown Capture. Was it registered in the Pattern?"); } else if (this.capture.equals(capture)) { return (T) value; } else { return tail.get(capture); } }