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