Example usage for java.text RuleBasedCollator setStrength

List of usage examples for java.text RuleBasedCollator setStrength

Introduction

In this page you can find the example usage for java.text RuleBasedCollator setStrength.

Prototype

public synchronized void setStrength(int newStrength) 

Source Link

Document

Sets this Collator's strength property.

Usage

From source file:Search.java

public static int indexOf(String source, String pattern) {
    RuleBasedCollator rbc = (RuleBasedCollator) Collator.getInstance();
    rbc.setStrength(Collator.SECONDARY);

    CollationElementIterator textCEI;
    CollationElementIterator patCEI;
    textCEI = rbc.getCollationElementIterator(source);
    patCEI = rbc.getCollationElementIterator(pattern);

    // e1 will contain the collation element for the source
    // e2 will contain the collation element for the pattern
    int e1, e2;/*from  w  w  w  . j  a  v a  2 s  .c  om*/
    int startMatch = -1;

    // initialize e2 with the first collation element in the pattern
    e2 = patCEI.next();

    while ((e1 = textCEI.next()) != CollationElementIterator.NULLORDER) {
        if (e1 == e2) { // if the elements match
            if (startMatch == -1)
                startMatch = textCEI.getOffset();
            e2 = patCEI.next(); // increment to the next element
            if (e2 == CollationElementIterator.NULLORDER)
                break;
        } else { // elements do not match
            if (startMatch != -1) {
                patCEI.reset();
                e2 = patCEI.next();
                startMatch = -1;
            }
        }
    }
    return startMatch;
}