001/* 002 * Copyright (c) 2007-2016 Concurrent, Inc. All Rights Reserved. 003 * 004 * Project and contact information: http://www.cascading.org/ 005 * 006 * This file is part of the Cascading project. 007 * 008 * Licensed under the Apache License, Version 2.0 (the "License"); 009 * you may not use this file except in compliance with the License. 010 * You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, software 015 * distributed under the License is distributed on an "AS IS" BASIS, 016 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 017 * See the License for the specific language governing permissions and 018 * limitations under the License. 019 */ 020 021package cascading.util; 022 023/** 024 * 025 */ 026public class Pair<Lhs, Rhs> 027 { 028 Lhs lhs; 029 Rhs rhs; 030 031 public Pair( Lhs lhs, Rhs rhs ) 032 { 033 this.lhs = lhs; 034 this.rhs = rhs; 035 } 036 037 public Lhs getLhs() 038 { 039 return lhs; 040 } 041 042 public void setLhs( Lhs lhs ) 043 { 044 this.lhs = lhs; 045 } 046 047 public Rhs getRhs() 048 { 049 return rhs; 050 } 051 052 public void setRhs( Rhs rhs ) 053 { 054 this.rhs = rhs; 055 } 056 057 @Override 058 public boolean equals( Object object ) 059 { 060 if( this == object ) 061 return true; 062 if( object == null || getClass() != object.getClass() ) 063 return false; 064 065 Pair pair = (Pair) object; 066 067 if( lhs != null ? !lhs.equals( pair.lhs ) : pair.lhs != null ) 068 return false; 069 if( rhs != null ? !rhs.equals( pair.rhs ) : pair.rhs != null ) 070 return false; 071 072 return true; 073 } 074 075 @Override 076 public int hashCode() 077 { 078 int result = lhs != null ? lhs.hashCode() : 0; 079 result = 31 * result + ( rhs != null ? rhs.hashCode() : 0 ); 080 return result; 081 } 082 083 @Override 084 public String toString() 085 { 086 final StringBuilder sb = new StringBuilder( "Pair{" ); 087 sb.append( "lhs=" ).append( lhs ); 088 sb.append( ", rhs=" ).append( rhs ); 089 sb.append( '}' ); 090 return sb.toString(); 091 } 092 }