private final int getCaseDiff(final String text, final String pattern) { final int savedStrength = m_collator.getStrength(); final int savedDecomposition = m_collator.getDecomposition(); m_collator.setStrength(Collator.TERTIARY); // not to ignore case m_collator.setDecomposition(Collator.CANONICAL_DECOMPOSITION); // corresponds NDF final int diff[] = getFirstCaseDiff(text, pattern, m_locale); m_collator.setStrength(savedStrength); // restore m_collator.setDecomposition(savedDecomposition); // restore if (diff != null) { if ((m_caseOrder).equals("upper-first")) { if (diff[0] == UPPER_CASE) { return -1; } else { return 1; } } else { // lower-first if (diff[0] == LOWER_CASE) { return -1; } else { return 1; } } } else { // No case differences return 0; } }