package org.libreplan.business.util;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
public class Pair<T, S> {
public static <T, S> Pair<T, S> create(T first, S second) {
return new Pair<T, S>(first, second);
}
private final T first;
private final S second;
private Pair(T first, S second) {
this.first = first;
this.second = second;
}
public T getFirst() {
return first;
}
public S getSecond() {
return second;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof Pair<?, ?>) {
Pair<?, ?> other = (Pair<?, ?>) obj;
return new EqualsBuilder().append(getFirst(), other.getFirst())
.append(getSecond(), other.getSecond()).isEquals();
}
return false;
}
@Override
public int hashCode() {
return new HashCodeBuilder().append(getFirst()).append(getSecond())
.toHashCode();
}
}