| /** |
| * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. The ASF licenses this file to you 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 org.apache.storm.streams.tuple; |
| |
| /** |
| * A tuple of five elements along the lines of Scala's Tuple. |
| * |
| * @param <T1> the type of the first element |
| * @param <T2> the type of the second element |
| * @param <T3> the type of the third element |
| * @param <T4> the type of the fourth element |
| * @param <T5> the type of the fifth element |
| */ |
| public class Tuple5<T1, T2, T3, T4, T5> { |
| public final T1 _1; |
| public final T2 _2; |
| public final T3 _3; |
| public final T4 _4; |
| public final T5 _5; |
| |
| /** |
| * Constructs a new tuple. |
| * |
| * @param _1 the first element |
| * @param _2 the second element |
| * @param _3 the third element |
| * @param _4 the fourth element |
| * @param _5 the fifth element |
| */ |
| public Tuple5(T1 _1, T2 _2, T3 _3, T4 _4, T5 _5) { |
| this._1 = _1; |
| this._2 = _2; |
| this._3 = _3; |
| this._4 = _4; |
| this._5 = _5; |
| } |
| |
| @Override |
| public boolean equals(Object o) { |
| if (this == o) { |
| return true; |
| } |
| if (o == null || getClass() != o.getClass()) { |
| return false; |
| } |
| |
| Tuple5<?, ?, ?, ?, ?> tuple5 = (Tuple5<?, ?, ?, ?, ?>) o; |
| |
| if (_1 != null ? !_1.equals(tuple5._1) : tuple5._1 != null) { |
| return false; |
| } |
| if (_2 != null ? !_2.equals(tuple5._2) : tuple5._2 != null) { |
| return false; |
| } |
| if (_3 != null ? !_3.equals(tuple5._3) : tuple5._3 != null) { |
| return false; |
| } |
| if (_4 != null ? !_4.equals(tuple5._4) : tuple5._4 != null) { |
| return false; |
| } |
| return _5 != null ? _5.equals(tuple5._5) : tuple5._5 == null; |
| |
| } |
| |
| @Override |
| public int hashCode() { |
| int result = _1 != null ? _1.hashCode() : 0; |
| result = 31 * result + (_2 != null ? _2.hashCode() : 0); |
| result = 31 * result + (_3 != null ? _3.hashCode() : 0); |
| result = 31 * result + (_4 != null ? _4.hashCode() : 0); |
| result = 31 * result + (_5 != null ? _5.hashCode() : 0); |
| return result; |
| } |
| |
| @Override |
| public String toString() { |
| return "(" + _1 + "," + _2 + "," + _3 + "," + _4 + "," + _5 + ")"; |
| } |
| } |