2 * Copyright (C) 2007 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
10 package eu
.etaxonomy
.cdm
.model
.common
;
12 import java
.util
.Comparator
;
13 import org
.apache
.log4j
.Logger
;
21 public class TermLanguageComparator
<T
extends TermBase
> implements Comparator
<T
> {
22 private static Logger logger
= Logger
23 .getLogger(TermLanguageComparator
.class);
25 private Language defaultLanguage
= Language
.DEFAULT();
26 private Language compareLanguage
= Language
.DEFAULT();
33 public TermLanguageComparator() {
34 // TODO Auto-generated constructor stub
38 * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
40 public int compare(T termbase1
, T termbase2
) throws RuntimeException
{
41 String label1
= makeCompareLabel(termbase1
);
42 String label2
= makeCompareLabel(termbase2
);
44 return label1
.compareTo(label2
);
47 private String
makeCompareLabel(T termbase
){
49 if (termbase
== null){
52 result
= termbase
.getLabel(compareLanguage
);
54 result
= termbase
.getLabel(defaultLanguage
);
59 result
+= termbase
.getUuid().toString();
64 * @return the defaultLanguage
66 public Language
getDefaultLanguage() {
67 return defaultLanguage
;
71 * @param defaultLanguage the defaultLanguage to set
73 public void setDefaultLanguage(Language defaultLanguage
) {
74 this.defaultLanguage
= defaultLanguage
;
78 * @return the compareLanguage
80 public Language
getCompareLanguage() {
81 return compareLanguage
;
85 * @param compareLanguage the compareLanguage to set
87 public void setCompareLanguage(Language compareLanguage
) {
88 this.compareLanguage
= compareLanguage
;