minor
[cdmlib.git] / cdmlib-model / src / main / java / eu / etaxonomy / cdm / model / taxon / TaxonComparatorSearch.java
1 package eu.etaxonomy.cdm.model.taxon;
2
3 import java.io.Serializable;
4 import java.util.Comparator;
5
6 import eu.etaxonomy.cdm.model.name.Rank;
7
8 public class TaxonComparatorSearch implements Serializable, Comparator<TaxonBase> {
9
10 public int compare(TaxonBase taxon1, TaxonBase taxon2) {
11
12 Rank rankTax1 = taxon1.getName().getRank();
13 Rank rankTax2 = taxon2.getName().getRank();
14
15 if (rankTax1 == null) return 2;
16 if (rankTax2 == null) return 1;
17 if (rankTax1.isHigher(rankTax2)) return 1;
18 else if (rankTax1.equals(rankTax2)) {
19 //same rank, order by name
20 return taxon1.getName().compareTo(taxon2.getName());
21
22 }
23 else return 2;
24 }
25
26 }