package com.ashardalon.pratt.tokens; import java.util.Objects; /** * Simple token implementation * * @author bjcul * * @param The key type * @param The value type * */ public class SimpleToken implements Token { private K key; private V value; /** * Create a new token * @param key The key * @param value The value */ public SimpleToken(K key, V value) { super(); this.key = key; this.value = value; } @Override public K getKey() { return key; } @Override public V getValue() { return value; } @Override public int hashCode() { return Objects.hash(key, value); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SimpleToken other = (SimpleToken) obj; return Objects.equals(key, other.key) && Objects.equals(value, other.value); } @Override public String toString() { return "SimpleToken [key=" + key + ", value=" + value + "]"; } }