--- old/src/java.base/share/classes/sun/text/normalizer/TrieIterator.java 2015-05-18 17:53:34.508753414 +0400 +++ new/src/java.base/share/classes/sun/text/normalizer/TrieIterator.java 2015-05-18 17:53:34.360753414 +0400 @@ -37,17 +37,17 @@ package sun.text.normalizer; /** - *
Class enabling iteration of the values in a Trie.
+ * Class enabling iteration of the values in a Trie. *Result of each iteration contains the interval of codepoints that have - * the same value type and the value type itself.
+ * the same value type and the value type itself. *The comparison of each codepoint value is done via extract(), which the - * default implementation is to return the value as it is.
+ * default implementation is to return the value as it is. *Method extract() can be overwritten to perform manipulations on - * codepoint values in order to perform specialized comparison.
+ * codepoint values in order to perform specialized comparison. *TrieIterator is designed to be a generic iterator for the CharTrie * and the IntTrie, hence to accommodate both types of data, the return - * result will be in terms of int (32 bit) values.
- *See com.ibm.icu.text.UCharacterTypeIterator for examples of use.
+ * result will be in terms of int (32 bit) values. + *See com.ibm.icu.text.UCharacterTypeIterator for examples of use. *
Notes for porting utrie_enum from icu4c to icu4j:
* Internally, icu4c's utrie_enum performs all iterations in its body. In Java
* sense, the caller will have to pass a object with a callback function
@@ -63,18 +63,17 @@
* the method extract(int) (equivalent to UTrieEnumValue). Independent of icu4j,
* the caller will have to code his own iteration and flesh out the task
* (equivalent to UTrieEnumRange) to be performed in the iteration loop.
- *
There are basically 3 usage scenarios for porting:
+ * + *There are basically 3 usage scenarios for porting: *
1) UTrieEnumValue is the only implemented callback then just implement a * subclass of TrieIterator and override the extract(int) method. The * extract(int) method is analogus to UTrieEnumValue callback. - *
+ * *2) UTrieEnumValue and UTrieEnumRange both are implemented then implement - * a subclass of TrieIterator, override the extract method and iterate, e.g - *
- *utrie_enum(&normTrie, _enumPropertyStartsValue, _enumPropertyStartsRange,
- * set);
- * In Java :
+ * a subclass of TrieIterator, override the extract method and iterate, e.g.
+ * {@code utrie_enum(&normTrie, _enumPropertyStartsValue, _enumPropertyStartsRange,
+ * set);}
+ * In Java:
*
* class TrieIteratorImpl extends TrieIterator{ * public TrieIteratorImpl(Trie data){ @@ -90,17 +89,17 @@ * // port the implementation of _enumPropertyStartsRange * } *- * + * *
3) UTrieEnumRange is the only implemented callback then just implement * the while loop, when utrie_enum is called - *
+ *+ * * @author synwee * @see com.ibm.icu.impl.Trie * @see com.ibm.icu.lang.UCharacterTypeIterator{@code * // utrie_enum(&fcdTrie, NULL, _enumPropertyStartsRange, set); * TrieIterator fcdIter = new TrieIterator(fcdTrieImpl.fcdTrie); * while(fcdIter.next(result)){ * set.add(result.start); * } - *- * + * }