1 package eu
.etaxonomy
.cdm
.api
.service
;
3 import java
.util
.Comparator
;
5 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNaturalComparator
;
6 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNode
;
7 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNodeByNameComparator
;
8 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNodeByRankAndNameComparator
;
10 public enum NodeSortMode
{
12 NaturalOrder(TaxonNaturalComparator
.class),
14 * sorts by TaxonName titleCaches and rank associated with the taxonNodes
16 RankAndAlphabeticalOrder(TaxonNodeByRankAndNameComparator
.class),
18 * sorts by TaxonName titleCaches associated with the taxonNodes
20 AlphabeticalOrder(TaxonNodeByNameComparator
.class);
22 private Class
<?
extends Comparator
<TaxonNode
>> type
;
24 NodeSortMode(Class
<?
extends Comparator
<TaxonNode
>> type
){
31 public Comparator
<TaxonNode
> newComparator() {
33 return type
.newInstance();
34 } catch (InstantiationException e
) {
35 throw new RuntimeException(e
);
36 } catch (IllegalAccessException e
) {
37 throw new RuntimeException(e
);