This project has retired. For details please refer to its Attic page.
Source code
001/*
002 * Licensed to the Apache Software Foundation (ASF) under one
003 * or more contributor license agreements.  See the NOTICE file
004 * distributed with this work for additional information
005 * regarding copyright ownership.  The ASF licenses this file
006 * to you under the Apache License, Version 2.0 (the
007 * "License"); you may not use this file except in compliance
008 * with the License.  You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing,
013 * software distributed under the License is distributed on an
014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 * KIND, either express or implied.  See the License for the
016 * specific language governing permissions and limitations
017 * under the License.
018 */
019package org.apache.reef.io;
020
021import org.apache.reef.annotations.Unstable;
022
023/**
024 * A key-value pair of elements.
025 */
026@Unstable
027public final class Tuple<K, V> {
028  private final K k;
029  private final V v;
030
031  public Tuple(final K k, final V v) {
032    this.k = k;
033    this.v = v;
034  }
035
036  public K getKey() {
037    return k;
038  }
039
040  public V getValue() {
041    return v;
042  }
043
044  @Override
045  public boolean equals(final Object o) {
046    if (this == o) {
047      return true;
048    }
049    if (o == null || getClass() != o.getClass()) {
050      return false;
051    }
052
053    final Tuple tuple = (Tuple) o;
054
055    if (!k.equals(tuple.k)) {
056      return false;
057    }
058    if (!v.equals(tuple.v)) {
059      return false;
060    }
061
062    return true;
063  }
064
065  @Override
066  public int hashCode() {
067    int result = k.hashCode();
068    result = 31 * result + v.hashCode();
069    return result;
070  }
071
072  @Override
073  public String toString() {
074    return "(" + getKey() + "," + getValue() + ")";
075  }
076
077}