49 lines
1.1 KiB
Java
49 lines
1.1 KiB
Java
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;
|
|
}
|
|
}
|