OSDN Git Service

fixed findbugs warnings.
[stigmata/stigmata.git] / src / main / java / jp / sourceforge / stigmata / BirthmarkSpiComparator.java
1 package jp.sourceforge.stigmata;
2
3 import java.io.Serializable;
4 import java.util.Comparator;
5
6 import jp.sourceforge.stigmata.spi.BirthmarkService;
7
8 /**
9  * @author Haruaki TAMADA
10  */
11 class BirthmarkSpiComparator implements Comparator<BirthmarkService>, Serializable{
12     private static final long serialVersionUID = 8194452116506240274L;
13
14     /**
15      * default constructor
16      */
17     public BirthmarkSpiComparator(){
18     }
19
20     @Override
21     public int hashCode(){
22         return System.identityHashCode(this);
23     }
24
25     @Override
26     public int compare(BirthmarkService s1, BirthmarkService s2){
27         if(s1.isExperimental() && !s2.isExperimental()){
28             return 1;
29         }
30         else if(!s1.isExperimental() && s2.isExperimental()){
31             return -1;
32         }
33         else{
34             return s1.getType().compareTo(s2.getType());
35         }
36     }
37
38     @Override
39     public boolean equals(Object o){
40         String className = null;
41         if(o != null){
42             className = o.getClass().getName();
43         }
44         return o != null && className.equals(getClass().getName());
45     }
46 }