Project

General

Profile

« Previous | Next » 

Revision 9345f0fe

Added by Andreas Müller almost 4 years ago

nope

View differences:

cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TaxonNodeSortMode.java
1
package eu.etaxonomy.cdm.api.service;
2

  
3
import java.util.Comparator;
4

  
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;
9

  
10
public enum TaxonNodeSortMode {
11

  
12
	NaturalOrder(TaxonNaturalComparator.class),
13
	/**
14
     * sorts by TaxonName titleCaches and rank associated with the taxonNodes
15
     */
16
	RankAndAlphabeticalOrder(TaxonNodeByRankAndNameComparator.class),
17
	/**
18
	 * sorts by TaxonName titleCaches associated with the taxonNodes
19
	 */
20
	AlphabeticalOrder(TaxonNodeByNameComparator.class);
21

  
22
	private Class<? extends Comparator<TaxonNode>> type;
23

  
24
    TaxonNodeSortMode(Class<? extends Comparator<TaxonNode>> type){
25
	    this.type = type;
26
	}
27

  
28
    /**
29
     * @return
30
     */
31
    public Comparator<TaxonNode> newComparator() {
32
        try {
33
            return type.newInstance();
34
        } catch (InstantiationException e) {
35
            throw new RuntimeException(e);
36
        } catch (IllegalAccessException e) {
37
            throw new RuntimeException(e);
38
        }
39
    }
40
}
1
package eu.etaxonomy.cdm.api.service;
2

  
3
import java.util.Comparator;
4

  
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;
9

  
10
public enum TaxonNodeSortMode {
11

  
12
	NaturalOrder(TaxonNaturalComparator.class),
13
	/**
14
     * sorts by TaxonName titleCaches and rank associated with the taxonNodes
15
     */
16
	RankAndAlphabeticalOrder(TaxonNodeByRankAndNameComparator.class),
17
	/**
18
	 * sorts by TaxonName titleCaches associated with the taxonNodes
19
	 */
20
	AlphabeticalOrder(TaxonNodeByNameComparator.class);
21

  
22
	private Class<? extends Comparator<TaxonNode>> type;
23

  
24
    TaxonNodeSortMode(Class<? extends Comparator<TaxonNode>> type){
25
	    this.type = type;
26
	}
27

  
28
    /**
29
     * @return
30
     */
31
    public Comparator<TaxonNode> newComparator() {
32
        try {
33
            return type.newInstance();
34
        } catch (InstantiationException e) {
35
            throw new RuntimeException(e);
36
        } catch (IllegalAccessException e) {
37
            throw new RuntimeException(e);
38
        }
39
    }
40
}

Also available in: Unified diff