01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. The ASF licenses this file to You
04: * under the Apache License, Version 2.0 (the "License"); you may not
05: * use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License. For additional information regarding
15: * copyright in this work, please see the NOTICE file in the top level
16: * directory of this distribution.
17: */
18: package org.apache.roller.util;
19:
20: import java.util.Locale;
21: import java.util.Comparator;
22: import java.io.Serializable;
23:
24: public class LocaleComparator implements Comparator, Serializable {
25: public int compare(Object obj1, Object obj2) {
26: if (obj1 instanceof Locale && obj2 instanceof Locale) {
27: Locale locale1 = (Locale) obj1;
28: Locale locale2 = (Locale) obj2;
29: int compName = locale1.getDisplayName().compareTo(
30: locale2.getDisplayName());
31: if (compName == 0) {
32: return locale1.toString().compareTo(locale2.toString());
33: }
34: return compName;
35: }
36: return 0;
37: }
38: /* Do Comparators need to implement equals()? -Lance
39: public boolean equals(Object obj)
40: {
41: if (obj instanceof LocaleComparator)
42: {
43: if (obj.equals(this)) return true;
44: }
45: return false;
46: }
47: */
48: }
|