Mercurial > dive4elements > gnv-client
view gnv-artifacts/src/main/java/de/intevation/gnv/math/IJKey.java @ 1119:7c4f81f74c47
merged gnv-artifacts
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:14:00 +0200 |
parents | f953c9a559d8 |
children |
line wrap: on
line source
/* * Copyright (c) 2010 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.gnv.math; import java.io.Serializable; /** * Tuple (i, j) to model a pair of integers. Useful to store index pairs * in maps. * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class IJKey implements Serializable { /** * i component of the tuple. */ public int i; /** * j component of the tuple. */ public int j; /** * Default constructor. */ public IJKey() { } /** * Constructor to set i and j. * @param i The i component. * @param j The j component. */ public IJKey(int i, int j) { this.i = i; this.j = j; } /** * Orders i and j by their values. */ public void sort() { if (i > j) { int t = i; i = j; j = t; } } /** * Hashes i and j into a common value. * @return the hash code. */ @Override public int hashCode() { return (i << 16) | j; } /** * IJKeys are considered equal if the i and j components * are equal. * @param obj The other IJKey * @return true if the IJKeys are equal else false. */ @Override public boolean equals(Object obj) { if (!(obj instanceof IJKey)) { return false; } IJKey other = (IJKey)obj; return i == other.i && j == other.j; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :