]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/engine/Language.java
Add CollatorWrapper to allow using different implementation.
[Dictionary.git] / src / com / hughes / android / dictionary / engine / Language.java
index 007ad4b6e16293906fbb6188aa5986b43a0c9ba8..4091ded1fbb1db7978a2e64b7f27b0a2e2a470d2 100644 (file)
 
 package com.hughes.android.dictionary.engine;
 
+import com.hughes.android.dictionary.CollatorWrapper;
 import com.hughes.android.dictionary.DictionaryApplication;
-import java.text.Collator;
 
 import java.util.Comparator;
-import java.util.LinkedHashMap;
+import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 import java.util.regex.Pattern;
@@ -41,12 +41,12 @@ public class Language {
         }
     }
 
-    private static final Map<String, Language> registry = new LinkedHashMap<String, Language>();
+    private static final Map<String, Language> registry = new HashMap<String, Language>();
 
     final String isoCode;
     final Locale locale;
 
-    private Collator collator;
+    private Comparator collator;
 
     private Language(final Locale locale, final String isoCode) {
         this.locale = locale;
@@ -69,8 +69,7 @@ public class Language {
             return String.CASE_INSENSITIVE_ORDER;
         // Don't think this is thread-safe...
         // if (collator == null) {
-        this.collator = Collator.getInstance(locale);
-        this.collator.setStrength(Collator.IDENTICAL);
+        this.collator = CollatorWrapper.getInstanceStrengthIdentical(locale);
         // }
         return collator;
     }
@@ -85,10 +84,10 @@ public class Language {
      * simplified for performance and small code size.
      */
     private static final String rtlChars =
-            "\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC";
+        "\u0591-\u07FF\uFB1D-\uFDFD\uFE70-\uFEFC";
 
     private static final String puncChars =
-            "\\[\\]\\(\\)\\{\\}\\=";
+        "\\[\\]\\(\\)\\{\\}\\=";
 
     private static final Pattern RTL_LEFT_BOUNDARY = Pattern.compile("([" + puncChars + "])(["
             + rtlChars + "])");