KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > ccm > IDL3 > DependencyComparator


1 /*====================================================================
2
3 OpenCCM: The Open CORBA Component Model Platform
4 Copyright (C) 2000-2002 USTL - LIFL - GOAL
5 Contact: openccm-team@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Philippe Merle, Mathieu Vadet.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.ccm.IDL3;
28
29 /**
30  * This class defines a comparator for dependencies.
31  * It can be used to sort a list of dependencies.
32  *
33  * @author <a=href="Philippe.Merle@lifl.fr">Philippe Merle</a>
34  * <a=href="Mathieu.Vadet@lifl.fr">Mathieu Vadet</a>
35  *
36  * @version 0.3
37  */

38
39 public class DependencyComparator
40        implements java.util.Comparator JavaDoc
41 {
42     // ==================================================================
43
//
44
// Internal state.
45
//
46
// ==================================================================
47

48     // ==================================================================
49
//
50
// Constructor.
51
//
52
// ==================================================================
53

54     /**
55      * The default constructor.
56      */

57     public
58     DependencyComparator()
59     {
60     }
61
62     // ==================================================================
63
//
64
// Public methods for the java.util.Comparator interface.
65
//
66
// ==================================================================
67

68     /**
69      * Compare two declarations.
70      */

71     public int
72     compare(java.lang.Object JavaDoc o1,
73             java.lang.Object JavaDoc o2)
74     {
75         Declaration decl1 = (Declaration)o1;
76         Declaration decl2 = (Declaration)o2;
77
78         Declaration[] depend = decl1.getDependencies();
79         for (int i=0;i<depend.length;i++)
80         {
81             if (depend[i]==o2)
82                 return 1;
83         }
84
85         depend = decl2.getDependencies();
86         for (int i=0;i<depend.length;i++)
87         {
88             if (depend[i]==o1)
89                 return -1;
90         }
91
92         return 0;
93     }
94
95     /**
96      * Is equals to another object.
97      */

98     public boolean
99     equals(java.lang.Object JavaDoc o)
100     {
101         return (o==this);
102     }
103 }
104
Popular Tags