微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.text.CollationElementIterator的实例源码

项目:In-the-Box-Fork    文件OldCollationElementIteratorTest.java   
public void testPrevIoUs() {
    RuleBasedCollator coll = (RuleBasedCollator) Collator.getInstance(Locale.US);
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] orders = new int[text.length()];
    int order = iterator.next();
    int i = 0;
    while (order != CollationElementIterator.NULLORDER) {
        orders[i++] = order;
        order = iterator.next();
    }

    int offset = iterator.getoffset();
    assertEquals(text.length(),offset);
    order = iterator.prevIoUs();

    while (order != CollationElementIterator.NULLORDER) {
        assertEquals(orders[--i],order);
        order = iterator.prevIoUs();
    }

    assertEquals(0,iterator.getoffset());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testNext() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] orders = new int[text.length()];
    int order = iterator.next();
    int i = 0;
    while (order != CollationElementIterator.NULLORDER) {
        orders[i++] = order;
        order = iterator.next();
    }

    int offset = iterator.getoffset();
    assertEquals(text.length(),iterator.getoffset());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testReset() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] orders = new int[text.length()];
    int order = iterator.next();
    int i = 0;
    while (order != CollationElementIterator.NULLORDER) {
        orders[i++] = order;
        order = iterator.next();
    }

    int offset = iterator.getoffset();
    assertEquals(text.length(),offset);

    iterator.reset();
    assertEquals(0,iterator.getoffset());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testTertiaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("fr","FR"));
    String text = "abAB";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    int order = iterator.next();
    int tOrder1 = CollationElementIterator.tertiaryOrder(order);
    order = iterator.next();
    int tOrder2 = CollationElementIterator.tertiaryOrder(order);
    assertEquals(tOrder1,tOrder2);

    order = iterator.next();
    tOrder1 = CollationElementIterator.tertiaryOrder(order);
    order = iterator.next();
    tOrder2 = CollationElementIterator.tertiaryOrder(order);
    assertEquals(tOrder1,tOrder2);
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testNext() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] orders = new int[text.length()];
    int order = iterator.next();
    int i = 0;
    while (order != CollationElementIterator.NULLORDER) {
        orders[i++] = order;
        order = iterator.next();
    }

    int offset = iterator.getoffset();
    assertEquals(text.length(),iterator.getoffset());
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testReset() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] orders = new int[text.length()];
    int order = iterator.next();
    int i = 0;
    while (order != CollationElementIterator.NULLORDER) {
        orders[i++] = order;
        order = iterator.next();
    }

    int offset = iterator.getoffset();
    assertEquals(text.length(),iterator.getoffset());
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testTertiaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("fr",tOrder2);
}
项目:In-the-Box-Fork    文件CollatorTest.java   
private void assertCollationElementIterator(CollationElementIterator it,Integer... offsets) {
    for (int offset : offsets) {
        assertEquals(offset,it.getoffset());
        it.next();
    }
    assertEquals(CollationElementIterator.NULLORDER,it.next());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testGetoffset() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] offsets = { 0,1,2,3 };
    int offset = iterator.getoffset();
    int i = 0;
    assertEquals(offsets[i++],offset);
    while (offset != text.length()) {
        iterator.next();
        offset = iterator.getoffset();
        assertEquals(offsets[i++],offset);
    }
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testGetMaxExpansion() {
    String text = "cha";
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es","","TradITIONAL"));
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    int order = iterator.next();
    while (order != CollationElementIterator.NULLORDER) {
        assertEquals(1,iterator.getMaxExpansion(order));
        order = iterator.next();
    }

}
项目:cn1    文件CollationElementIteratorTest.java   
public void testPrimaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("de","DE"));
    String text = "\u00e6";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    int order = iterator.next();
    int pOrder = CollationElementIterator.primaryOrder(order);
    CollationElementIterator iterator2 = rbColl
            .getCollationElementIterator("ae");
    int order2 = iterator2.next();
    int pOrder2 = CollationElementIterator.primaryOrder(order2);
    assertEquals(pOrder,pOrder2);
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testSecondaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("fr","FR"));
    String text = "a\u00e0";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    int order = iterator.next();
    int sOrder1 = CollationElementIterator.secondaryOrder(order);

    order = iterator.next();
    int sOrder2 = CollationElementIterator.secondaryOrder(order);

    assertEquals(sOrder1,sOrder2);
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testSetoffset() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es","TradITIONAL"));
    String text = "cha";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    iterator.setoffset(1);
    assertEquals(1,iterator.getoffset());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testSetTextString() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es","TradITIONAL"));
    String text = "caa";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    iterator.setoffset(1);
    assertEquals(1,iterator.getoffset());
    iterator.setText("cha");
    iterator.setoffset(1);
    assertEquals(1,iterator.getoffset());
}
项目:cn1    文件CollationElementIteratorTest.java   
public void testSetTextCharacterIterator() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es",iterator.getoffset());
    iterator.setText(new StringCharacterIterator("cha"));
    iterator.setoffset(1);
    assertEquals(1,iterator.getoffset());
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testGetoffset() {
    String text = "abc";
    CollationElementIterator iterator = coll
            .getCollationElementIterator(text);
    int[] offsets = { 0,offset);
    }
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testGetMaxExpansion() {
    String text = "cha";
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es",iterator.getMaxExpansion(order));
        order = iterator.next();
    }

}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testPrimaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("de",pOrder2);
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testSecondaryOrder() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("fr",sOrder2);
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testSetoffset() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es","TradITIONAL"));
    String text = "cha";
    CollationElementIterator iterator = rbColl
            .getCollationElementIterator(text);
    iterator.setoffset(1);
    assertEquals(0,iterator.getoffset());
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testSetTextString() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es",iterator.getoffset());
    iterator.setText("cha");
    iterator.setoffset(1);
    assertEquals(0,iterator.getoffset());
}
项目:freeVM    文件CollationElementIteratorTest.java   
public void testSetTextCharacterIterator() {
    RuleBasedCollator rbColl = (RuleBasedCollator) Collator
            .getInstance(new Locale("es",iterator.getoffset());
    iterator.setText(new StringCharacterIterator("cha"));
    iterator.setoffset(1);
    assertEquals(0,iterator.getoffset());
}
项目:Openjsharp    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,final String pattern,final Locale locale){

        final CollationElementIterator targIter = m_collator.getCollationElementIterator(text);
        final CollationElementIterator patIter = m_collator.getCollationElementIterator(pattern);
        int startTarg = -1;
        int endTarg = -1;
        int startPatt = -1;
        int endPatt = -1;
        final int done = getElement(CollationElementIterator.NULLORDER);
        int patternElement = 0,targetElement = 0;
        boolean getPattern = true,getTarget = true;

        while (true) {
            if (getPattern){
                 startPatt = patIter.getoffset();
                 patternElement = getElement(patIter.next());
                 endPatt = patIter.getoffset();
            }
            if ((getTarget)){
                 startTarg  = targIter.getoffset();
                 targetElement   = getElement(targIter.next());
                 endTarg  = targIter.getoffset();
            }
            getTarget = getPattern = true;
            if ((patternElement == done) ||( targetElement == done)) {
                return null;
            } else if (targetElement == 0) {
              getPattern = false;
            } else if (patternElement == 0) {
              getTarget = false;
            } else if (targetElement != patternElement) {// mismatch
                if((startPatt < endPatt) && (startTarg < endTarg)){
                    final String  subText = text.substring(startTarg,endTarg);
                    final String  subPatt = pattern.substring(startPatt,endPatt);
                    final String  subTextUp = subText.toupperCase(locale);
                    final String  subPattUp = subPatt.toupperCase(locale);
                    if(m_collator.compare(subTextUp,subPattUp) != 0){ // not case diffference
                        continue;
                    }

                    int diff[] = {UNKNowN_CASE,UNKNowN_CASE};
                    if(m_collator.compare(subText,subTextUp) == 0){
                        diff[0] = UPPER_CASE;
                    }else if(m_collator.compare(subText,subText.toLowerCase(locale)) == 0){
                       diff[0] = LOWER_CASE;
                    }
                    if(m_collator.compare(subPatt,subPattUp) == 0){
                        diff[1] = UPPER_CASE;
                    }else if(m_collator.compare(subPatt,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }
项目:openjdk-jdk10    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }
项目:openjdk9    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }
项目:gemfirexd-oss    文件WorkHorseForCollatorDatatypes.java   
/**
 * This method translates the string into a series of collation elements.
 * These elements will get used in the like method.
 * 
 * @return an array of collation elements for the string
 * @throws StandardException
 */
int[] getCollationElementsForString()
    throws StandardException
{
    if (stringData.isNull())
    {
        return (int[]) null;
    }



       // Caching of collationElementsForString is not working properly,in 
       // order to cache it needs to get invalidated everytime the container
       // type's value is changed - through any interface,eg: readExternal,// setValue,...  To get proper behavior,disabling caching,and will
       // file a performance enhancement to implement correct caching.
       collationElementsForString = null;
       countOfCollationElements   = 0;


    if (collationElementsForString != null)
    {
        return collationElementsForString;
    }

    // countOfCollationElements should always be 0 when 
       // collationElementsForString is null
    if (SanityManager.DEBUG)
    {
        if (countOfCollationElements != 0)
        {
            SanityManager.THROWASSERT(
                "countOfCollationElements expected to be 0,not " + 
                   countOfCollationElements);
        }
    }


    collationElementsForString = new int[stringData.getLength()];

    CollationElementIterator cei = 
           collatorForCharacterDatatypes.getCollationElementIterator(
               stringData.getString());

    int nextInt;
    while ((nextInt = cei.next()) != CollationElementIterator.NULLORDER)
    {
        /* Believe it or not,a String might have more
         * collation elements than characters.
         * So,we handle that case by increasing the int array
         * by 5 and copying array elements.
         */
        if (countOfCollationElements == collationElementsForString.length)
        {
            int[] expandedArray = new int[countOfCollationElements + 5];
            System.arraycopy(collationElementsForString,expandedArray,collationElementsForString.length);
            collationElementsForString = expandedArray;
        }
        collationElementsForString[countOfCollationElements++] = nextInt;
    }

    return collationElementsForString;
}
项目:lookaside_java-1.8.0-openjdk    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }
项目:infobip-open-jdk-8    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }
项目:OLD-OpenJDK8    文件StringComparable.java   
private final int[] getFirstCaseDiff(final String text,subPatt.toLowerCase(locale)) == 0){
                       diff[1] = LOWER_CASE;
                    }

                    if(((diff[0] == UPPER_CASE) && ( diff[1] == LOWER_CASE)) ||
                       ((diff[0] == LOWER_CASE) && ( diff[1] == UPPER_CASE))){
                        return diff;
                    }else{// not case diff
                      continue;
                    }
                }else{
                    continue;
                }

           }
        }

  }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。