| package us.myles.ViaVersion.api; |
| |
| import org.jetbrains.annotations.Nullable; |
| |
| import java.util.Objects; |
| |
| public class Pair<X, Y> { |
| private final X key; |
| private Y value; |
| |
| public Pair(@Nullable X key, @Nullable Y value) { |
| this.key = key; |
| this.value = value; |
| } |
| |
| public X getKey() { |
| return key; |
| } |
| |
| public Y getValue() { |
| return value; |
| } |
| |
| public void setValue(@Nullable Y value) { |
| this.value = value; |
| } |
| |
| @Override |
| public String toString() { |
| return "Pair{" + key + ", " + value + '}'; |
| } |
| |
| @Override |
| public boolean equals(final Object o) { |
| if (this == o) return true; |
| if (o == null || getClass() != o.getClass()) return false; |
| Pair<?, ?> pair = (Pair<?, ?>) o; |
| if (!Objects.equals(key, pair.key)) return false; |
| return Objects.equals(value, pair.value); |
| } |
| |
| @Override |
| public int hashCode() { |
| int result = key != null ? key.hashCode() : 0; |
| result = 31 * result + (value != null ? value.hashCode() : 0); |
| return result; |
| } |
| } |