diff options
Diffstat (limited to 'libjava/java/text/CollationElementIterator.java')
-rw-r--r-- | libjava/java/text/CollationElementIterator.java | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/libjava/java/text/CollationElementIterator.java b/libjava/java/text/CollationElementIterator.java new file mode 100644 index 00000000000..15e60560189 --- /dev/null +++ b/libjava/java/text/CollationElementIterator.java @@ -0,0 +1,79 @@ +// CollationElementIterator.java - Iterate over decomposed characters. + +/* Copyright (C) 1999 Cygnus Solutions + + This file is part of libgcj. + +This software is copyrighted work licensed under the terms of the +Libgcj License. Please consult the file "LIBGCJ_LICENSE" for +details. */ + +package java.text; + +/** + * @author Tom Tromey <tromey@cygnus.com> + * @date March 25, 1999 + */ +/* Written using "Java Class Libraries", 2nd edition, plus online + * API docs for JDK 1.2 from http://www.javasoft.com. + * Status: Believed complete and correct to JDK 1.1. + */ + +public final class CollationElementIterator +{ + public static final int NULLORDER = 0xffffffff; + + public int next () + { + if (index == text.length()) + return NULLORDER; + return collator.ceiNext(this); + } + + // This one returns int while the others return short. + public static final int primaryOrder (int order) + { + // From the JDK 1.2 spec. + return order >>> 16; + } + + public void reset () + { + index = 0; + } + + public static final short secondaryOrder (int order) + { + // From the JDK 1.2 spec. + return (order >>> 8) & 255; + } + + public static final short tertiaryOrder (int order) + { + // From the JDK 1.2 spec. + return order & 255; + } + + // Non-public constructor. + CollationElementIterator (String text, RuleBasedCollator collator) + { + this.text = text; + this.index = 0; + this.lookahead_set = false; + this.lookahead = 0; + this.collator = collator; + } + + // Text over which we iterate. + String text; + + // Index of next character to examine in TEXT. + int index; + + // A piece of lookahead. + boolean lookahead_set; + int lookahead; + + // The RuleBasedCollator which created this object. + RuleBasedCollator collator; +} |