KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > util > LocaleComparator


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
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 JavaDoc;
21 import java.util.Comparator JavaDoc;
22 import java.io.Serializable JavaDoc;
23
24 public class LocaleComparator implements Comparator JavaDoc, Serializable JavaDoc
25 {
26     public int compare(Object JavaDoc obj1, Object JavaDoc obj2)
27     {
28         if (obj1 instanceof Locale JavaDoc && obj2 instanceof Locale JavaDoc)
29         {
30             Locale JavaDoc locale1 = (Locale JavaDoc)obj1;
31             Locale JavaDoc locale2 = (Locale JavaDoc)obj2;
32             int compName = locale1.getDisplayName().compareTo(locale2.getDisplayName());
33             if (compName == 0)
34             {
35                 return locale1.toString().compareTo(locale2.toString());
36             }
37             return compName;
38         }
39         return 0;
40     }
41 /* Do Comparators need to implement equals()? -Lance
42     public boolean equals(Object obj)
43     {
44         if (obj instanceof LocaleComparator)
45         {
46             if (obj.equals(this)) return true;
47         }
48         return false;
49     }
50 */

51 }
Popular Tags