Java Code Examples for java.text.Collator#setStrength()
The following examples show how to use
java.text.Collator#setStrength() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CollatorTest.java From j2objc with Apache License 2.0 | 6 votes |
/** * @tests java.text.Collator#setDecomposition(int) */ //FIXME This test fails on Harmony ClassLibrary public void failing_test_setDecompositionI() { Collator c = Collator.getInstance(Locale.FRENCH); c.setStrength(Collator.IDENTICAL); c.setDecomposition(Collator.NO_DECOMPOSITION); assertTrue("Collator should not be using decomposition", !c.equals( "\u212B", "\u00C5")); // "ANGSTROM SIGN" and "LATIN CAPITAL // LETTER A WITH RING ABOVE" c.setDecomposition(Collator.CANONICAL_DECOMPOSITION); assertTrue("Collator should be using decomposition", c.equals("\u212B", "\u00C5")); // "ANGSTROM SIGN" and "LATIN CAPITAL LETTER A WITH // RING ABOVE" assertTrue("Should not be equal under canonical decomposition", !c .equals("\u2163", "IV")); // roman number "IV" c.setDecomposition(Collator.FULL_DECOMPOSITION); assertTrue("Should be equal under full decomposition", c.equals( "\u2163", "IV")); // roman number "IV" }
Example 2
Source File: EntityAccount.java From FairEmail with GNU General Public License v3.0 | 6 votes |
@Override Comparator getComparator(final Context context) { final Collator collator = Collator.getInstance(Locale.getDefault()); collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc return new Comparator() { @Override public int compare(Object o1, Object o2) { EntityAccount a1 = (EntityAccount) o1; EntityAccount a2 = (EntityAccount) o2; int o = Integer.compare( a1.order == null ? -1 : a1.order, a2.order == null ? -1 : a2.order); if (o != 0) return o; String name1 = (a1.name == null ? "" : a1.name); String name2 = (a2.name == null ? "" : a2.name); return collator.compare(name1, name2); } }; }
Example 3
Source File: WikiPageComparator.java From olat with Apache License 2.0 | 6 votes |
/** * Compares the name of page 'a' to that of page 'b' with respect to the current locale (different languages have different alphabets and hence different orders). * */ @Override public int compare(final WikiPage a, final WikiPage b) { // Be aware of locale when ordering final I18nManager mgr = I18nManager.getInstance(); final Locale userLocale = mgr.getCurrentThreadLocale(); final Collator collator = Collator.getInstance(userLocale); collator.setStrength(Collator.PRIMARY); // Undefinied order if page a or b is null int order = 0; if (a != null && b != null) { final String nameA = a.getPageName(); final String nameB = b.getPageName(); // Compare page names with the localized comparator order = collator.compare(nameA, nameB); } return order; }
Example 4
Source File: WikiPageComparator.java From olat with Apache License 2.0 | 6 votes |
/** * Compares the name of page 'a' to that of page 'b' with respect to the current locale (different languages have different alphabets and hence different orders). * */ @Override public int compare(final WikiPage a, final WikiPage b) { // Be aware of locale when ordering final I18nManager mgr = I18nManager.getInstance(); final Locale userLocale = mgr.getCurrentThreadLocale(); final Collator collator = Collator.getInstance(userLocale); collator.setStrength(Collator.PRIMARY); // Undefinied order if page a or b is null int order = 0; if (a != null && b != null) { final String nameA = a.getPageName(); final String nameB = b.getPageName(); // Compare page names with the localized comparator order = collator.compare(nameA, nameB); } return order; }
Example 5
Source File: SimpleListActivity.java From dbclf with Apache License 2.0 | 6 votes |
private void prepareListData() { listDataHeader = new ArrayList<>(); listDataChild = new HashMap<>(); Collections.addAll(listDataHeader, getResources().getStringArray(R.array.breeds_array)); final String[] fileNames = getResources().getStringArray(R.array.file_names); // load file names for (int i = 0; i < listDataHeader.size(); i++) { listDataChild.put(listDataHeader.get(i), fileNames[i]); } if (null != recogs) { listDataHeader = new ArrayList<>(); listDataHeader.addAll(recogs); expListView.setFastScrollAlwaysVisible(false); } else { final Collator coll = Collator.getInstance(Locale.getDefault()); coll.setStrength(Collator.PRIMARY); Collections.sort(listDataHeader, coll); expListView.setFastScrollAlwaysVisible(true); } }
Example 6
Source File: AutofillProfileBridge.java From AndroidChromium with Apache License 2.0 | 6 votes |
/** @return The list of supported countries sorted by their localized display names. */ public static List<DropdownKeyValue> getSupportedCountries() { List<String> countryCodes = new ArrayList<>(); List<String> countryNames = new ArrayList<>(); List<DropdownKeyValue> countries = new ArrayList<>(); nativeGetSupportedCountries(countryCodes, countryNames); for (int i = 0; i < countryCodes.size(); i++) { countries.add(new DropdownKeyValue(countryCodes.get(i), countryNames.get(i))); } final Collator collator = Collator.getInstance(Locale.getDefault()); collator.setStrength(Collator.PRIMARY); Collections.sort(countries, new Comparator<DropdownKeyValue>() { @Override public int compare(DropdownKeyValue lhs, DropdownKeyValue rhs) { int result = collator.compare(lhs.getValue(), rhs.getValue()); if (result == 0) result = lhs.getKey().compareTo(rhs.getKey()); return result; } }); return countries; }
Example 7
Source File: CollatorTest.java From j2objc with Apache License 2.0 | 5 votes |
/** * @tests java.text.Collator#equals(java.lang.Object) */ public void test_equalsLjava_lang_Object() { Collator c = Collator.getInstance(Locale.ENGLISH); Collator c2 = (Collator) c.clone(); assertTrue("Cloned collators not equal", c.equals(c2)); c2.setStrength(Collator.SECONDARY); assertTrue("Collators with different strengths equal", !c.equals(c2)); }
Example 8
Source File: NativeString.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.5.4.9 String.prototype.localeCompare (that) * @param self self reference * @param that comparison object * @return result of locale sensitive comparison operation between {@code self} and {@code that} */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static double localeCompare(final Object self, final Object that) { final String str = checkObjectToString(self); final Collator collator = Collator.getInstance(Global.getEnv()._locale); collator.setStrength(Collator.IDENTICAL); collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); return collator.compare(str, JSType.toString(that)); }
Example 9
Source File: CollatorTest.java From j2objc with Apache License 2.0 | 5 votes |
public void test_collationKeySize() throws Exception { // Test to verify that very large collation keys are not truncated. StringBuilder b = new StringBuilder(); for (int i = 0; i < 1024; i++) { b.append("0123456789ABCDEF"); } String sixteen = b.toString(); b.append("_THE_END"); String sixteenplus = b.toString(); Collator mColl = Collator.getInstance(); mColl.setStrength(Collator.PRIMARY); byte [] arr = mColl.getCollationKey(sixteen).toByteArray(); int len = arr.length; assertTrue("Collation key not 0 terminated", arr[arr.length - 1] == 0); len--; String foo = new String(arr, 0, len, "iso8859-1"); arr = mColl.getCollationKey(sixteen).toByteArray(); len = arr.length; assertTrue("Collation key not 0 terminated", arr[arr.length - 1] == 0); len--; String bar = new String(arr, 0, len, "iso8859-1"); assertTrue("Collation keys should differ", foo.equals(bar)); }
Example 10
Source File: TestCollationKeyAnalyzer.java From lucene-solr with Apache License 2.0 | 5 votes |
public void testThreadSafe() throws Exception { int iters = 20 * RANDOM_MULTIPLIER; for (int i = 0; i < iters; i++) { Collator collator = Collator.getInstance(Locale.GERMAN); collator.setStrength(Collator.PRIMARY); Analyzer analyzer = new CollationKeyAnalyzer(collator); assertThreadSafe(analyzer); analyzer.close(); } }
Example 11
Source File: NativeString.java From nashorn with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.5.4.9 String.prototype.localeCompare (that) * @param self self reference * @param that comparison object * @return result of locale sensitive comparison operation between {@code self} and {@code that} */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object localeCompare(final Object self, final Object that) { final String str = checkObjectToString(self); final Collator collator = Collator.getInstance(Global.getEnv()._locale); collator.setStrength(Collator.IDENTICAL); collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); return (double)collator.compare(str, JSType.toString(that)); }
Example 12
Source File: NativeString.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
/** * ECMA 15.5.4.9 String.prototype.localeCompare (that) * @param self self reference * @param that comparison object * @return result of locale sensitive comparison operation between {@code self} and {@code that} */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static double localeCompare(final Object self, final Object that) { final String str = checkObjectToString(self); final Collator collator = Collator.getInstance(Global.getEnv()._locale); collator.setStrength(Collator.IDENTICAL); collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); return collator.compare(str, JSType.toString(that)); }
Example 13
Source File: ForBenefitOfUtil.java From snowblossom with Apache License 2.0 | 5 votes |
/** * This doesn't output the string, but actually the collator byte stream * which should be used as the uniqueness key. See ForBenefitOfUtilTest for examples * of things that should or should not match each other. */ public static ByteString normalize(String input) { String n1 = Normalizer.normalize(input, Normalizer.Form.NFC); // Not trying to be US-English centric, but have to pick some Locale // so that this section will behave consistently for all nodes Collator collator = Collator.getInstance(Locale.US); collator.setStrength(Collator.PRIMARY); collator.setDecomposition(Collator.FULL_DECOMPOSITION); return ByteString.copyFrom(collator.getCollationKey(n1).toByteArray()); }
Example 14
Source File: TwigPath.java From idea-php-symfony2-plugin with MIT License | 4 votes |
@Override public int compareTo(@NotNull TwigPath twigPath) { Collator collator = Collator.getInstance(); collator.setStrength(Collator.SECONDARY); return collator.compare(this.getNamespace(), twigPath.getNamespace()); }
Example 15
Source File: APITest.java From jdk8u_jdk with GNU General Public License v2.0 | 4 votes |
public final void TestProperty( ) { Collator col = null; try { col = Collator.getInstance(Locale.ROOT); logln("The property tests begin : "); logln("Test ctors : "); doAssert(col.compare("ab", "abc") < 0, "ab < abc comparison failed"); doAssert(col.compare("ab", "AB") < 0, "ab < AB comparison failed"); doAssert(col.compare("black-bird", "blackbird") > 0, "black-bird > blackbird comparison failed"); doAssert(col.compare("black bird", "black-bird") < 0, "black bird < black-bird comparison failed"); doAssert(col.compare("Hello", "hello") > 0, "Hello > hello comparison failed"); logln("Test ctors ends."); logln("testing Collator.getStrength() method ..."); doAssert(col.getStrength() == Collator.TERTIARY, "collation object has the wrong strength"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); logln("testing Collator.setStrength() method ..."); col.setStrength(Collator.SECONDARY); doAssert(col.getStrength() != Collator.TERTIARY, "collation object's strength is secondary difference"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); doAssert(col.getStrength() == Collator.SECONDARY, "collation object has the wrong strength"); logln("testing Collator.setDecomposition() method ..."); col.setDecomposition(Collator.NO_DECOMPOSITION); doAssert(col.getDecomposition() != Collator.FULL_DECOMPOSITION, "collation object's strength is secondary difference"); doAssert(col.getDecomposition() != Collator.CANONICAL_DECOMPOSITION, "collation object's strength is primary difference"); doAssert(col.getDecomposition() == Collator.NO_DECOMPOSITION, "collation object has the wrong strength"); } catch (Exception foo) { errln("Error : " + foo.getMessage()); errln("Default Collator creation failed."); } logln("Default collation property test ended."); logln("Collator.getRules() testing ..."); doAssert(((RuleBasedCollator)col).getRules().length() != 0, "getRules() result incorrect" ); logln("getRules tests end."); try { col = Collator.getInstance(Locale.FRENCH); col.setStrength(Collator.PRIMARY); logln("testing Collator.getStrength() method again ..."); doAssert(col.getStrength() != Collator.TERTIARY, "collation object has the wrong strength"); doAssert(col.getStrength() == Collator.PRIMARY, "collation object's strength is not primary difference"); logln("testing French Collator.setStrength() method ..."); col.setStrength(Collator.TERTIARY); doAssert(col.getStrength() == Collator.TERTIARY, "collation object's strength is not tertiary difference"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); doAssert(col.getStrength() != Collator.SECONDARY, "collation object's strength is secondary difference"); } catch (Exception bar) { errln("Error : " + bar.getMessage()); errln("Creating French collation failed."); } logln("Create junk collation: "); Locale abcd = new Locale("ab", "CD", ""); Collator junk = null; try { junk = Collator.getInstance(abcd); } catch (Exception err) { errln("Error : " + err.getMessage()); errln("Junk collation creation failed, should at least return the collator for the base bundle."); } try { col = Collator.getInstance(Locale.ROOT); doAssert(col.equals(junk), "The base bundle's collation should be returned."); } catch (Exception exc) { errln("Error : " + exc.getMessage()); errln("Default collation comparison, caching not working."); } logln("Collator property test ended."); }
Example 16
Source File: APITest.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
public final void TestProperty( ) { Collator col = null; try { col = Collator.getInstance(Locale.ROOT); logln("The property tests begin : "); logln("Test ctors : "); doAssert(col.compare("ab", "abc") < 0, "ab < abc comparison failed"); doAssert(col.compare("ab", "AB") < 0, "ab < AB comparison failed"); doAssert(col.compare("black-bird", "blackbird") > 0, "black-bird > blackbird comparison failed"); doAssert(col.compare("black bird", "black-bird") < 0, "black bird < black-bird comparison failed"); doAssert(col.compare("Hello", "hello") > 0, "Hello > hello comparison failed"); logln("Test ctors ends."); logln("testing Collator.getStrength() method ..."); doAssert(col.getStrength() == Collator.TERTIARY, "collation object has the wrong strength"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); logln("testing Collator.setStrength() method ..."); col.setStrength(Collator.SECONDARY); doAssert(col.getStrength() != Collator.TERTIARY, "collation object's strength is secondary difference"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); doAssert(col.getStrength() == Collator.SECONDARY, "collation object has the wrong strength"); logln("testing Collator.setDecomposition() method ..."); col.setDecomposition(Collator.NO_DECOMPOSITION); doAssert(col.getDecomposition() != Collator.FULL_DECOMPOSITION, "collation object's strength is secondary difference"); doAssert(col.getDecomposition() != Collator.CANONICAL_DECOMPOSITION, "collation object's strength is primary difference"); doAssert(col.getDecomposition() == Collator.NO_DECOMPOSITION, "collation object has the wrong strength"); } catch (Exception foo) { errln("Error : " + foo.getMessage()); errln("Default Collator creation failed."); } logln("Default collation property test ended."); logln("Collator.getRules() testing ..."); doAssert(((RuleBasedCollator)col).getRules().length() != 0, "getRules() result incorrect" ); logln("getRules tests end."); try { col = Collator.getInstance(Locale.FRENCH); col.setStrength(Collator.PRIMARY); logln("testing Collator.getStrength() method again ..."); doAssert(col.getStrength() != Collator.TERTIARY, "collation object has the wrong strength"); doAssert(col.getStrength() == Collator.PRIMARY, "collation object's strength is not primary difference"); logln("testing French Collator.setStrength() method ..."); col.setStrength(Collator.TERTIARY); doAssert(col.getStrength() == Collator.TERTIARY, "collation object's strength is not tertiary difference"); doAssert(col.getStrength() != Collator.PRIMARY, "collation object's strength is primary difference"); doAssert(col.getStrength() != Collator.SECONDARY, "collation object's strength is secondary difference"); } catch (Exception bar) { errln("Error : " + bar.getMessage()); errln("Creating French collation failed."); } logln("Create junk collation: "); Locale abcd = new Locale("ab", "CD", ""); Collator junk = null; try { junk = Collator.getInstance(abcd); } catch (Exception err) { errln("Error : " + err.getMessage()); errln("Junk collation creation failed, should at least return the collator for the base bundle."); } try { col = Collator.getInstance(Locale.ROOT); doAssert(col.equals(junk), "The base bundle's collation should be returned."); } catch (Exception exc) { errln("Error : " + exc.getMessage()); errln("Default collation comparison, caching not working."); } logln("Collator property test ended."); }
Example 17
Source File: AlphanumComparator.java From Cirrus_depricated with GNU General Public License v2.0 | 4 votes |
public int compare(OCFile o1, OCFile o2){ String s1 = o1.getRemotePath().toLowerCase(); String s2 = o2.getRemotePath().toLowerCase(); int thisMarker = 0; int thatMarker = 0; int s1Length = s1.length(); int s2Length = s2.length(); while (thisMarker < s1Length && thatMarker < s2Length) { String thisChunk = getChunk(s1, s1Length, thisMarker); thisMarker += thisChunk.length(); String thatChunk = getChunk(s2, s2Length, thatMarker); thatMarker += thatChunk.length(); // If both chunks contain numeric characters, sort them numerically int result = 0; if (isDigit(thisChunk.charAt(0)) && isDigit(thatChunk.charAt(0))) { // Simple chunk comparison by length. int thisChunkLength = thisChunk.length(); result = thisChunkLength - thatChunk.length(); // If equal, the first different number counts if (result == 0) { for (int i = 0; i < thisChunkLength; i++) { result = thisChunk.charAt(i) - thatChunk.charAt(i); if (result != 0) { return result; } } } } else { Collator collator = Collator.getInstance(); collator.setStrength(Collator.PRIMARY); result = collator.compare(thisChunk, thatChunk); } if (result != 0) return result; } return s1Length - s2Length; }
Example 18
Source File: TupleFolderEx.java From FairEmail with GNU General Public License v3.0 | 4 votes |
@Override Comparator getComparator(final Context context) { final Collator collator = Collator.getInstance(Locale.getDefault()); collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc final Comparator base = super.getComparator(context); return new Comparator() { @Override public int compare(Object o1, Object o2) { TupleFolderEx f1 = (TupleFolderEx) o1; TupleFolderEx f2 = (TupleFolderEx) o2; // Outbox if (f1.accountName == null && f2.accountName == null) return 0; else if (f1.accountName == null) return 1; else if (f2.accountName == null) return -1; int fo = Integer.compare( f1.order == null ? -1 : f1.order, f2.order == null ? -1 : f2.order); if (fo != 0) return fo; int ao = Integer.compare( f1.accountOrder == null ? -1 : f1.accountOrder, f2.accountOrder == null ? -1 : f2.accountOrder); if (ao != 0) return ao; int a = collator.compare(f1.accountName, f2.accountName); if (a != 0) return a; return base.compare(o1, o2); } }; }
Example 19
Source File: TupleFolderNav.java From FairEmail with GNU General Public License v3.0 | 4 votes |
@Override Comparator getComparator(final Context context) { final Collator collator = Collator.getInstance(Locale.getDefault()); collator.setStrength(Collator.SECONDARY); // Case insensitive, process accents etc final Comparator base = super.getComparator(context); return new Comparator() { @Override public int compare(Object o1, Object o2) { TupleFolderNav f1 = (TupleFolderNav) o1; TupleFolderNav f2 = (TupleFolderNav) o2; // Outbox if (f1.accountName == null && f2.accountName == null) return 0; else if (f1.accountName == null) return 1; else if (f2.accountName == null) return -1; int fo = Integer.compare( f1.order == null ? -1 : f1.order, f2.order == null ? -1 : f2.order); if (fo != 0) return fo; int ao = Integer.compare( f1.accountOrder == null ? -1 : f1.accountOrder, f2.accountOrder == null ? -1 : f2.accountOrder); if (ao != 0) return ao; int a = collator.compare(f1.accountName, f2.accountName); if (a != 0) return a; return base.compare(o1, o2); } }; }
Example 20
Source File: CollatorTest.java From j2objc with Apache License 2.0 | 4 votes |
/** * @tests java.text.Collator#compare(java.lang.Object, java.lang.Object) */ public void test_compareLjava_lang_ObjectLjava_lang_Object() { Collator c = Collator.getInstance(Locale.FRENCH); Object o, o2; c.setStrength(Collator.IDENTICAL); o = "E"; o2 = "F"; assertTrue("a) Failed on primary difference", c.compare(o, o2) < 0); o = "e"; o2 = "\u00e9"; assertTrue("a) Failed on secondary difference", c.compare(o, o2) < 0); o = "e"; o2 = "E"; assertTrue("a) Failed on tertiary difference", c.compare(o, o2) < 0); o = "e"; o2 = "e"; assertEquals("a) Failed on equivalence", 0, c.compare(o, o2)); assertTrue("a) Failed on primary expansion", c.compare("\u01db", "v") < 0); c.setStrength(Collator.TERTIARY); o = "E"; o2 = "F"; assertTrue("b) Failed on primary difference", c.compare(o, o2) < 0); o = "e"; o2 = "\u00e9"; assertTrue("b) Failed on secondary difference", c.compare(o, o2) < 0); o = "e"; o2 = "E"; assertTrue("b) Failed on tertiary difference", c.compare(o, o2) < 0); o = "\u0001"; o2 = "\u0002"; assertEquals("b) Failed on identical", 0, c.compare(o, o2)); o = "e"; o2 = "e"; assertEquals("b) Failed on equivalence", 0, c.compare(o, o2)); c.setStrength(Collator.SECONDARY); o = "E"; o2 = "F"; assertTrue("c) Failed on primary difference", c.compare(o, o2) < 0); o = "e"; o2 = "\u00e9"; assertTrue("c) Failed on secondary difference", c.compare(o, o2) < 0); o = "e"; o2 = "E"; assertEquals("c) Failed on tertiary difference", 0, c.compare(o, o2)); o = "\u0001"; o2 = "\u0002"; assertEquals("c) Failed on identical", 0, c.compare(o, o2)); o = "e"; o2 = "e"; assertEquals("c) Failed on equivalence", 0, c.compare(o, o2)); c.setStrength(Collator.PRIMARY); o = "E"; o2 = "F"; assertTrue("d) Failed on primary difference", c.compare(o, o2) < 0); o = "e"; o2 = "\u00e9"; assertEquals("d) Failed on secondary difference", 0, c.compare(o, o2)); o = "e"; o2 = "E"; assertEquals("d) Failed on tertiary difference", 0, c.compare(o, o2)); o = "\u0001"; o2 = "\u0002"; assertEquals("d) Failed on identical", 0, c.compare(o, o2)); o = "e"; o2 = "e"; assertEquals("d) Failed on equivalence", 0, c.compare(o, o2)); try { c.compare("e", new StringBuffer("Blah")); } catch (ClassCastException e) { // correct return; } fail("Failed to throw ClassCastException"); }