Coverage Report - net.mtu.eggplant.util.Pair
 
Classes in this File Line Coverage Branch Coverage Complexity
Pair
0%
0/19
0%
0/10
2.167
 
 1  
 /*
 2  
  * Copyright (c) 2000
 3  
  *      Jon Schewe.  All rights reserved
 4  
  *
 5  
  * Redistribution and use in source and binary forms, with or without
 6  
  * modification, are permitted provided that the following conditions
 7  
  * are met:
 8  
  * 1. Redistributions of source code must retain the above copyright
 9  
  *    notice, this list of conditions and the following disclaimer.
 10  
  * 2. Redistributions in binary form must reproduce the above copyright
 11  
  *    notice, this list of conditions and the following disclaimer in the
 12  
  *    documentation and/or other materials provided with the distribution.
 13  
  *
 14  
  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 15  
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 16  
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 17  
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 18  
  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 19  
  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 20  
  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 21  
  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 22  
  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 23  
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 24  
  * SUCH DAMAGE.
 25  
  *
 26  
  * I'd appreciate comments/suggestions on the code jpschewe@mtu.net
 27  
  */
 28  
 package net.mtu.eggplant.util;
 29  
 
 30  
 import java.io.Serializable;
 31  
 
 32  
 /**
 33  
  * class to put multiple objects in one.
 34  
  * 
 35  
  * @version $Revision$
 36  
  * @param <TYPE_ONE> the type of the first object 
 37  
  * @param <TYPE_TWO> the type of the second object
 38  
  */
 39  
 public class Pair<TYPE_ONE, TYPE_TWO> extends Object implements Serializable {
 40  
 
 41  
   public Pair(final TYPE_ONE one,
 42  0
               final TYPE_TWO two) {
 43  0
     _one = one;
 44  0
     _two = two;
 45  0
   }
 46  
 
 47  0
   private TYPE_ONE _one = null;
 48  
 
 49  
   public TYPE_ONE getOne() {
 50  0
     return _one;
 51  
   }
 52  
 
 53  0
   private TYPE_TWO _two = null;
 54  
 
 55  
   public TYPE_TWO getTwo() {
 56  0
     return _two;
 57  
   }
 58  
 
 59  
   @Override
 60  
   public String toString() {
 61  0
     return "[Pair one:" + getOne() + " two: " + getTwo() + "]";
 62  
   }
 63  
 
 64  
   /**
 65  
    * Equality is defined by the equality of the objects in the Pair.
 66  
    **/
 67  
   @Override
 68  
   public boolean equals(final Object o) {
 69  0
     if (o == this) {
 70  0
       return true;
 71  0
     } else if (o instanceof Pair<?, ?>) {
 72  0
       final Pair<?, ?> other = (Pair<?, ?>) o;
 73  0
       return ComparisonUtils.safeEquals(other.getOne(), getOne())
 74  0
       && ComparisonUtils.safeEquals(other.getTwo(), getTwo());
 75  
     }
 76  0
     return false;
 77  
   }
 78  
 
 79  
   @Override
 80  
   public int hashCode() {
 81  0
     if (getOne() == null) {
 82  0
       return -1;
 83  
     } else {
 84  0
       return getOne().hashCode();
 85  
     }
 86  
   }
 87  
 
 88  
 }