annotate java/src/uk/ac/qmul/eecs/ccmi/utils/Pair.java @ 8:ea7885bd9bff tip

fixed bug : render solid line as dotted/dashed when moving the stylus from dotted/dashed to solid
author ccmi-guest
date Thu, 03 Jul 2014 16:12:20 +0100
parents d66dd5880081
children
rev   line source
fiore@0 1 /*
fiore@0 2 CCmI Editor - A Collaborative Cross-Modal Diagram Editing Tool
fiore@0 3
fiore@0 4 Copyright (C) 2011 Queen Mary University of London (http://ccmi.eecs.qmul.ac.uk/)
fiore@0 5
fiore@0 6 This program is free software: you can redistribute it and/or modify
fiore@0 7 it under the terms of the GNU General Public License as published by
fiore@0 8 the Free Software Foundation, either version 3 of the License, or
fiore@0 9 (at your option) any later version.
fiore@0 10
fiore@0 11 This program is distributed in the hope that it will be useful,
fiore@0 12 but WITHOUT ANY WARRANTY; without even the implied warranty of
fiore@0 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
fiore@0 14 GNU General Public License for more details.
fiore@0 15
fiore@0 16 You should have received a copy of the GNU General Public License
fiore@0 17 along with this program. If not, see <http://www.gnu.org/licenses/>.
fiore@0 18 */
fiore@0 19
fiore@0 20 package uk.ac.qmul.eecs.ccmi.utils;
fiore@0 21
fiore@0 22 /**
fiore@0 23 *
fiore@0 24 * A Pair of objects.
fiore@0 25 *
fiore@0 26 * @param <T1> The first item type
fiore@0 27 * @param <T2> The second item type
fiore@0 28 */
fiore@0 29 public class Pair<T1,T2> {
fiore@0 30 public Pair(T1 first, T2 second){
fiore@0 31 this.first = first;
fiore@0 32 this.second = second;
fiore@0 33 }
fiore@0 34
fiore@0 35 @Override
fiore@0 36 public int hashCode() {
fiore@0 37 final int prime = 31;
fiore@0 38 int result = 1;
fiore@0 39 result = prime * result + ((first == null) ? 0 : first.hashCode());
fiore@0 40 result = prime * result + ((second == null) ? 0 : second.hashCode());
fiore@0 41 return result;
fiore@0 42 }
fiore@0 43
fiore@0 44 @Override
fiore@0 45 public boolean equals(Object obj) {
fiore@0 46 if (this == obj)
fiore@0 47 return true;
fiore@0 48 if (obj == null)
fiore@0 49 return false;
fiore@0 50 if (getClass() != obj.getClass())
fiore@0 51 return false;
fiore@0 52 @SuppressWarnings("rawtypes")
fiore@0 53 Pair other = (Pair) obj;
fiore@0 54 if (first == null) {
fiore@0 55 if (other.first != null)
fiore@0 56 return false;
fiore@0 57 } else if (!first.equals(other.first))
fiore@0 58 return false;
fiore@0 59 if (second == null) {
fiore@0 60 if (other.second != null)
fiore@0 61 return false;
fiore@0 62 } else if (!second.equals(other.second))
fiore@0 63 return false;
fiore@0 64 return true;
fiore@0 65 }
fiore@0 66
fiore@5 67 /**
fiore@5 68 * the first item of the pair
fiore@5 69 */
fiore@0 70 public T1 first;
fiore@5 71 /**
fiore@5 72 * the second item of the pair
fiore@5 73 */
fiore@0 74 public T2 second;
fiore@0 75 }