/* * Copyright 2008, 2012 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package cc.kune.common.shared.utils; // TODO: Auto-generated Javadoc /** * The Class Pair. * * @param <L> the generic type * @param <R> the generic type * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public final class Pair<L, R> { /** * Creates the. * * @param <L> the generic type * @param <R> the generic type * @param l the l * @param r the r * @return the pair */ public static <L, R> Pair<L, R> create(final L l, final R r) { return new Pair<L, R>(l, r); } /** The left. */ public final L left; /** The right. */ public final R right; /** * Instantiates a new pair. * * @param left the left * @param right the right */ private Pair(final L left, final R right) { this.left = left; this.right = right; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @SuppressWarnings("unchecked") @Override public boolean equals(final Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Pair other = (Pair) obj; if (left == null) { if (other.left != null) { return false; } } else if (!left.equals(other.left)) { return false; } if (right == null) { if (other.right != null) { return false; } } else if (!right.equals(other.right)) { return false; } return true; } /** * Gets the left. * * @return the left */ public L getLeft() { return left; } /** * Gets the right. * * @return the right */ public R getRight() { return right; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((left == null) ? 0 : left.hashCode()); result = prime * result + ((right == null) ? 0 : right.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "(" + left + "," + right + ")"; } }