KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jgrapht > experimental > isomorphism > comparators > OddEvenGroupComparator


1 /* ==========================================
2  * JGraphT : a free Java graph-theory library
3  * ==========================================
4  *
5  * Project Info: http://jgrapht.sourceforge.net/
6  * Project Creator: Barak Naveh (http://sourceforge.net/users/barak_naveh)
7  *
8  * (C) Copyright 2003-2006, by Barak Naveh and Contributors.
9  *
10  * This library is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
17  * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
18  * License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this library; if not, write to the Free Software Foundation,
22  * Inc.,
23  * 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
24  */

25 /* -----------------
26  * OddEvenGroupComparator.java
27  * -----------------
28  * (C) Copyright 2005-2006, by Barak Naveh and Contributors.
29  *
30  * Original Author: Assaf Lehr
31  * Contributor(s): -
32  *
33  * $Id: OddEvenGroupComparator.java 504 2006-07-03 02:37:26Z perfecthash $
34  *
35  * Changes
36  * -------
37  */

38 package org.jgrapht.experimental.isomorphism.comparators;
39
40 import org.jgrapht.experimental.equivalence.*;
41
42
43 /**
44  * Comparator which defines two groups of integers. Odds (mod2=1) and
45  * Evens(mod2=0). Works only on Integers.
46  *
47  * @author Assaf
48  * @since Jul 22, 2005
49  */

50 public class OddEvenGroupComparator
51     implements EquivalenceComparator<Integer JavaDoc, Object JavaDoc>
52 {
53
54     //~ Methods ---------------------------------------------------------------
55

56     public boolean equivalenceCompare(
57         Integer JavaDoc arg1,
58         Integer JavaDoc arg2,
59         Object JavaDoc context1,
60         Object JavaDoc context2)
61     {
62         int int1 = arg1.intValue();
63         int int2 = arg2.intValue();
64
65         boolean result = ((int1 % 2) == (int2 % 2));
66         return result;
67     }
68
69     /* Odd and even must have unique values.
70      * @see
71      *
72      *
73      *
74      *
75      *
76      * org.jgrapht.experimental.equivalence.EquivalenceComparator#equivalenceHashcode(java.lang.Object)
77      */

78     public int equivalenceHashcode(Integer JavaDoc arg1, Object JavaDoc context)
79     {
80         int int1 = arg1.intValue();
81         return int1 % 2;
82     }
83 }
84
Popular Tags