Package org.apache.abdera.i18n.io

Examples of org.apache.abdera.i18n.io.CodepointIterator


  public static void main(String... args) throws Exception {
   
    ChainableBitSet set = new ChainableBitSet().set2('a','b','c');
    char[] c = {'a','b','c',CharUtils.getHighSurrogate(0x10000),CharUtils.getLowSurrogate(0x10000)};
   
    CodepointIterator ci = CodepointIterator.forCharArray(c);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false,true);
    while(rci.hasNext()) System.out.println(rci.next());
  }
View Full Code Here


    while (rci.hasNext()) rci.next();
    return rci.position;
  }
 
  public static int scanNot(char[] array, BitSet set) throws InvalidCharacterException {
    CodepointIterator ci = CodepointIterator.forCharArray(array);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,true,true);
    while (rci.hasNext()) rci.next();
    return rci.position;
  }
View Full Code Here

    while (rci.hasNext()) rci.next();
    return rci.position();
  }
 
  public static int scan(char[] array, BitSet set) throws InvalidCharacterException {
    CodepointIterator ci = CodepointIterator.forCharArray(array);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,true);
    while (rci.hasNext()) rci.next();
    return rci.position();
  }
View Full Code Here

    while (rci.hasNext()) rci.next();
    return rci.position();
  }
 
  public static int scan(String s, BitSet set) throws InvalidCharacterException {
    CodepointIterator ci = CodepointIterator.forCharSequence(s);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,true);
    while (rci.hasNext()) rci.next();
    return rci.position;
  }
View Full Code Here

    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false,true);
    while (rci.hasNext()) rci.next();
  }
 
  public static void verifyNot(char[] array, BitSet set) throws InvalidCharacterException {
    CodepointIterator ci = CodepointIterator.forCharArray(array);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false,true);
    while (rci.hasNext()) rci.next();
  }
View Full Code Here

    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false);
    while (rci.hasNext()) rci.next();
  }
 
  public static void verify(char[] array, BitSet set) throws InvalidCharacterException {
    CodepointIterator ci = CodepointIterator.forCharArray(array);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false);
    while (rci.hasNext()) rci.next();
  }
View Full Code Here

    while (rci.hasNext()) rci.next();
  }
 
  public static void verify(String s, BitSet set) throws InvalidCharacterException {
    if (s == null) return;
    CodepointIterator ci = CodepointIterator.forCharSequence(s);
    RestrictedCodepointIterator rci = new RestrictedCodepointIterator(ci,set,false);
    while (rci.hasNext()) rci.next();
  }
View Full Code Here

  public static String prep(String s, boolean allowunassigned) {
    NameprepCodepointIterator r = null;
    try {
      StringBuffer buf = new StringBuffer();
      CodepointIterator ci = CodepointIterator.forCharSequence(s);
      r = new NameprepCodepointIterator(ci,allowunassigned);
      while(r.hasNext()) {
        int i = r.next();
        if (i != -1)
        buf.append((char)i);
View Full Code Here

    String source,
    Form form,
    StringBuffer buf)
      throws IOException {
      StringBuffer internal = new StringBuffer();
      CodepointIterator ci = CodepointIterator.forCharSequence(source);
      boolean canonical = form.isCanonical();
      while (ci.hasNext()) {
        int c = ci.next();
        internal.setLength(0);
        ucd.decompose(c, canonical, internal);
        CodepointIterator ii = CodepointIterator.forCharSequence(internal);
        while(ii.hasNext()) {
          int ch = ii.next();
          int i = findInsertionPoint(ucd, buf, ch);
          buf.insert(i,CharUtils.toString(ch));
        }
      }
   
View Full Code Here

  public static StringBuffer encode(
    char[] chars,
    boolean[] case_flags)
      throws IOException {
    StringBuffer buf = new StringBuffer();
    CodepointIterator ci = CodepointIterator.forCharArray(chars);
    int n, delta, h, b, bias, m, q, k, t;
    n = initial_n;
    delta = 0;
    bias = initial_bias;
    int i = -1;
    while (ci.hasNext()) {
      i = ci.next();
      if (basic(i)) {
        if (case_flags != null) {
        } else {
          buf.append((char)i);
        }
      }
    }
    h = b = buf.length();
    if (b > 0) buf.append((char)delimiter);
    while (h < chars.length) {
      ci.position(0);
      i = -1;
      m = Integer.MAX_VALUE;
      while(ci.hasNext()) {
        i = ci.next();
        if (i >= n && i < m) m = i;
      }
      if (m - n > (Integer.MAX_VALUE - delta) / (h + 1))
        throw new IOException("Overflow");
      delta += (m-n) * (h+1);
      n = m;
      ci.position(0);
      i = -1;
      while (ci.hasNext()) {
        i = ci.next();
        if (i < n) {
          if (++delta == 0) throw new IOException("Overflow");
        }
        if (i == n) {
          for (q = delta, k = base;; k+= base) {
            t = k <= bias ? tmin : k >= bias + tmax ? tmax : k - bias;
            if (q < t) break;
            buf.append((char)encode_digit(t+(q-t)%(base-t),false));
            q = (q-t) / (base-t);
          }
          buf.append((char)encode_digit(
            q, (case_flags!=null)?case_flags[ci.position()-1]:false));
          bias = adapt(delta,h+1,h==b);
          delta=0;
          ++h;
        }
      }
View Full Code Here

TOP

Related Classes of org.apache.abdera.i18n.io.CodepointIterator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.