1 package eu
.etaxonomy
.cdm
.model
.taxon
;
3 import java
.io
.Serializable
;
4 import java
.util
.Comparator
;
6 import eu
.etaxonomy
.cdm
.model
.name
.Rank
;
8 public class TaxonComparatorSearch
implements Serializable
, Comparator
<TaxonBase
> {
10 public int compare(TaxonBase taxon1
, TaxonBase taxon2
) {
12 Rank rankTax1
= taxon1
.getName().getRank();
13 Rank rankTax2
= taxon2
.getName().getRank();
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());