/** * Uses {@link ThreadLocalUserContext#getLocale()} as locale in ascending order. * @param s1 * @param s2 * @return The result of {@link Collator#compare(String, String)}. * @see #compare(String, String, Locale) */ public int compare(final String s1, final String s2) { return compare(s1, s2, true); }
private Collator getCollator(final Locale locale) { if (locale != null) { if (german.getLanguage().equals(locale.getLanguage()) == true) { return getGermanCollator(); } } return getDefaultCollator(); }
/** * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ @Override public int compare(final TenantDO t1, final TenantDO t2) { final String n1 = t1 != null ? t1.getName() : null; final String n2 = t2 != null ? t2.getName() : null; return StringComparator.getInstance().compare(n1, n2); } }
/** * Gets the Collator for the given locale and uses this collator for the string comparison. * @param s1 * @param s2 * @param asc * @param locale * @return The result of {@link Collator#compare(String, String)} or -1, 0, 1 if one or both string paramters are null. */ public int compare(final String s1, final String s2, final boolean asc, final Locale locale) { if (s1 == null) { if (s2 == null) return 0; else return (asc == true) ? -1 : 1; } if (s2 == null) { return (asc == true) ? 1 : -1; } final Collator collator = getCollator(locale); if (asc == true) { return collator.compare(s1, s2); } return -collator.compare(s1, s2); }
return StringComparator.getInstance().compare((String) value1, (String) value2, asc);
/** * Using ascending order. * @param s1 * @param s2 * @param locale * @see #compare(String, String, boolean, Locale) */ public int compare(final String s1, final String s2, final Locale locale) { return compare(s1, s2, true, locale); }
/** * Uses {@link ThreadLocalUserContext#getLocale()} as locale. * @param s1 * @param s2 * @param asc * @return The result of {@link Collator#compare(String, String)}. * @see #compare(String, String, Locale) */ public int compare(final String s1, final String s2, final boolean asc) { return compare(s1, s2, asc, ThreadLocalUserContext.getLocale()); }