ICU-12005 Fix numerous warnings / errors from Javadoc generation

X-SVN-Rev: 38385
This commit is contained in:
Scott Russell 2016-02-26 21:14:36 +00:00
parent 6a32e3f591
commit 8f598f6746
74 changed files with 1099 additions and 1167 deletions

View File

@ -788,8 +788,9 @@
</target>
<!-- doclint in V8 is too strict to handle existing html in javadoc -->
<!-- doclint options are: html, accessibiltiy, missing, reference, syntax -->
<target name="_setLintV8" unless="is.pre.java8">
<property name="lintParam" value="-Xdoclint:-html"/>
<property name="lintParam" value=""/>
</target>
<target name="_setLintPreV8" if="is.pre.java8">
<property name="lintParam" value=""/>
@ -799,6 +800,7 @@
<echo message="JCite library path: ${jcite.libs}"/>
<echo message="JCite additional source path: ${jcite.addl.src}"/>
<echo message="Custom stylesheet: ${docs.style.sheet}"/>
<echo message="lintParam: ${lintParam}"/>
<javadoc
destdir="${doc.dir}"
nodeprecatedlist="true"
@ -832,7 +834,8 @@
</javadoc>
</target>
<target name="_docsWithoutJCite" unless="jcite.libs">
<target name="_docsWithoutJCite" unless="jcite.libs, _setLintV8, _setLintPreV8">
<echo message="lintParam: ${lintParam}"/>
<javadoc
destdir="${doc.dir}"
nodeprecatedlist="true"
@ -843,7 +846,7 @@
docencoding="UTF-8"
charset="UTF-8"
bottom="&lt;font size=-1&gt;Copyright (c) ${current.year} IBM Corporation and others.&lt;/font&gt;"
additionalparam="-breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
additionalparam="${lintParam} -breakiterator -use -tagletpath ${icu4j.build-tools.jar} -taglet com.ibm.icu.dev.tool.docs.ICUTaglet"
link="${icu4j.api.doc.jdk.link}"
source="1.6"
bootclasspath="${java6.bootclasspath}">

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 2006-2015, International Business Machines Corporation and
* Copyright (C) 2006-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -20,7 +20,7 @@ import com.ibm.icu.text.UnicodeSet;
* <p>A subclass of java.nio.Charset for providing implementation of ICU's charset converters.
* This API is used to convert codepage or character encoded data to and
* from UTF-16. You can open a converter with {@link Charset#forName} and {@link #forNameICU}. With that
* converter, you can get its properties, set options, convert your data.</p>
* converter, you can get its properties, set options, convert your data.
*
* <p>Since many software programs recognize different converter names for
* different types of converters, there are other functions in this API to
@ -376,13 +376,14 @@ public abstract class CharsetICU extends Charset{
abstract void getUnicodeSetImpl(UnicodeSet setFillIn, int which);
/**
* <p>Returns the set of Unicode code points that can be converted by an ICU Converter.
* <p>
* The current implementation returns only one kind of set (UCNV_ROUNDTRIP_SET): The set of all Unicode code points that can be
* Returns the set of Unicode code points that can be converted by an ICU Converter.
*
* <p>The current implementation returns only one kind of set (UCNV_ROUNDTRIP_SET): The set of all Unicode code points that can be
* roundtrip-converted (converted without any data loss) with the converter This set will not include code points that have fallback
* mappings or are only the result of reverse fallback mappings. See UTR #22 "Character Mapping Markup Language" at <a href="http://www.unicode.org/reports/tr22/">http://www.unicode.org/reports/tr22/</a>
* <p>* In the future, there may be more UConverterUnicodeSet choices to select sets with different properties.
* <p>
*
* <p>In the future, there may be more UConverterUnicodeSet choices to select sets with different properties.
*
* <p>This is useful for example for
* <ul><li>checking that a string or document can be roundtrip-converted with a converter,
* without/before actually performing the conversion</li>

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2008-2014, Google Inc, International Business Machines Corporation
* Copyright (C) 2008-2016, Google Inc, International Business Machines Corporation
* and others. All Rights Reserved.
*******************************************************************************
*/
@ -41,16 +41,16 @@ import com.ibm.icu.util.ULocale;
* (bucket) of a larger "target" list. That is, each label corresponds to a bucket in
* the target list, where everything in the bucket is greater than or equal to the character
* (according to the locale's collation). Strings can be added to the index;
* they will be in sorted order in the right bucket.</p>
* they will be in sorted order in the right bucket.
* <p>
* The class also supports having buckets for strings before the first (underflow),
* after the last (overflow), and between scripts (inflow). For example, if the index
* is constructed with labels for Russian and English, Greek characters would fall
* into an inflow bucket between the other two scripts.</p>
* into an inflow bucket between the other two scripts.
*
* <p><em>Note:</em> If you expect to have a lot of ASCII or Latin characters
* as well as characters from the user's language,
* then it is a good idea to call addLabels(ULocale.English).</p>
* then it is a good idea to call addLabels(ULocale.English).
*
* <h2>Direct Use</h2>
* <p>The following shows an example of building an index directly.
@ -733,7 +733,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
}
/**
* Return the number of records in the index: that is, the total number of distinct <name,data> pairs added with addRecord(...), over all the buckets.
* Return the number of records in the index: that is, the total number of distinct &lt;name,data&gt; pairs added with addRecord(...), over all the buckets.
*
* @return total number of records in buckets
* @stable ICU 4.8

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2014, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -22,18 +22,18 @@ import com.ibm.icu.impl.coll.UTF16CollationIterator;
import com.ibm.icu.impl.coll.UVector32;
/**
* <p><code>CollationElementIterator</code> is an iterator created by
* <code>CollationElementIterator</code> is an iterator created by
* a RuleBasedCollator to walk through a string. The return result of
* each iteration is a 32-bit collation element (CE) that defines the
* ordering priority of the next character or sequence of characters
* in the source string.</p>
* in the source string.
*
* <p>For illustration, consider the following in Slovak and in traditional Spanish collation:
* <blockquote>
* <pre>
* "ca" -> the first collation element is CE('c') and the second
* "ca" -&gt; the first collation element is CE('c') and the second
* collation element is CE('a').
* "cha" -> the first collation element is CE('ch') and the second
* "cha" -&gt; the first collation element is CE('ch') and the second
* collation element is CE('a').
* </pre>
* </blockquote>
@ -43,12 +43,11 @@ import com.ibm.icu.impl.coll.UVector32;
* Since the character '&#230;' is a composed character of 'a' and 'e', the
* iterator returns two collation elements for the single character '&#230;'
*
* "&#230;b" -> the first collation element is collation_element('a'), the
* "&#230;b" -&gt; the first collation element is collation_element('a'), the
* second collation element is collation_element('e'), and the
* third collation element is collation_element('b').
* </pre>
* </blockquote>
* </p>
*
* <p>For collation ordering comparison, the collation element results
* can not be compared simply by using basic arithmetic operators,
@ -57,11 +56,11 @@ import com.ibm.icu.impl.coll.UVector32;
* <a href="http://userguide.icu-project.org/collation/architecture">
* User Guide</a>. An example of using the CollationElementIterator
* for collation ordering comparison is the class
* {@link com.ibm.icu.text.StringSearch}.</p>
* {@link com.ibm.icu.text.StringSearch}.
*
* <p>To construct a CollationElementIterator object, users
* call the method getCollationElementIterator() on a
* RuleBasedCollator that defines the desired sorting order.</p>
* RuleBasedCollator that defines the desired sorting order.
*
* <p> Example:
* <blockquote>
@ -72,7 +71,7 @@ import com.ibm.icu.impl.coll.UVector32;
* int primaryOrder = iterator.IGNORABLE;
* while (primaryOrder != iterator.NULLORDER) {
* int order = iterator.next();
* if (order != iterator.IGNORABLE &&
* if (order != iterator.IGNORABLE &amp;&amp;
* order != iterator.NULLORDER) {
* // order is valid, not ignorable and we have not passed the end
* // of the iteration, we do something
@ -83,7 +82,6 @@ import com.ibm.icu.impl.coll.UVector32;
* }
* </pre>
* </blockquote>
* </p>
* <p>
* The method next() returns the collation order of the next character based on
* the comparison level of the collator. The method previous() returns the
@ -97,10 +95,8 @@ import com.ibm.icu.impl.coll.UVector32;
* Hence at the next call of next() or previous(), the first or last collation order,
* or collation order at the specified position will be returned. If a change of
* direction is done without one of these calls, the result is undefined.
* </p>
* <p>
* This class is not subclassable.
* </p>
* @see Collator
* @see RuleBasedCollator
* @see StringSearch
@ -113,7 +109,7 @@ public final class CollationElementIterator
private RuleBasedCollator rbc_; // aliased
private int otherHalf_;
/**
* <0: backwards; 0: just after reset() (previous() begins from end);
* &lt;0: backwards; 0: just after reset() (previous() begins from end);
* 1: just after setOffset(); >1: forward
*/
private byte dir_;
@ -128,23 +124,23 @@ public final class CollationElementIterator
/**
* <p>This constant is returned by the iterator in the methods
* This constant is returned by the iterator in the methods
* next() and previous() when the end or the beginning of the
* source string has been reached, and there are no more valid
* collation elements to return.</p>
* collation elements to return.
*
* <p>See class documentation for an example of use.</p>
* <p>See class documentation for an example of use.
* @stable ICU 2.8
* @see #next
* @see #previous */
public final static int NULLORDER = 0xffffffff;
/**
* <p>This constant is returned by the iterator in the methods
* This constant is returned by the iterator in the methods
* next() and previous() when a collation element result is to be
* ignored.</p>
* ignored.
*
* <p>See class documentation for an example of use.</p>
* <p>See class documentation for an example of use.
* @stable ICU 2.8
* @see #next
* @see #previous */
@ -205,11 +201,11 @@ public final class CollationElementIterator
}
/**
* <p>CollationElementIterator constructor. This takes a source
* CollationElementIterator constructor. This takes a source
* string and a RuleBasedCollator. The iterator will walk through
* the source string based on the rules defined by the
* collator. If the source string is empty, NULLORDER will be
* returned on the first call to next().</p>
* returned on the first call to next().
*
* @param source the source string.
* @param collator the RuleBasedCollator
@ -229,11 +225,11 @@ public final class CollationElementIterator
// but only contain the part of RBC.equals() related to data and rules.
/**
* <p>CollationElementIterator constructor. This takes a source
* CollationElementIterator constructor. This takes a source
* character iterator and a RuleBasedCollator. The iterator will
* walk through the source string based on the rules defined by
* the collator. If the source string is empty, NULLORDER will be
* returned on the first call to next().</p>
* returned on the first call to next().
*
* @param source the source string iterator.
* @param collator the RuleBasedCollator
@ -245,11 +241,11 @@ public final class CollationElementIterator
}
/**
* <p>CollationElementIterator constructor. This takes a source
* CollationElementIterator constructor. This takes a source
* character iterator and a RuleBasedCollator. The iterator will
* walk through the source string based on the rules defined by
* the collator. If the source string is empty, NULLORDER will be
* returned on the first call to next().</p>
* returned on the first call to next().
*
* @param source the source string iterator.
* @param collator the RuleBasedCollator
@ -261,7 +257,7 @@ public final class CollationElementIterator
}
/**
* <p>Returns the character offset in the source string
* Returns the character offset in the source string
* corresponding to the next collation element. I.e., getOffset()
* returns the position in the source string corresponding to the
* collation element that will be returned by the next call to
@ -281,7 +277,7 @@ public final class CollationElementIterator
* <li> The length of the source string, if iteration has reached
* the end.
*</ul>
* </p>
*
* @return The character offset in the source string corresponding to the
* collation element that will be returned by the next call to
* next() or previous().
@ -303,18 +299,18 @@ public final class CollationElementIterator
}
/**
* <p>Get the next collation element in the source string.</p>
* Get the next collation element in the source string.
*
* <p>This iterator iterates over a sequence of collation elements
* that were built from the string. Because there isn't
* necessarily a one-to-one mapping from characters to collation
* elements, this doesn't mean the same thing as "return the
* collation element [or ordering priority] of the next character
* in the string".</p>
* in the string".
*
* <p>This function returns the collation element that the
* iterator is currently pointing to, and then updates the
* internal pointer to point to the next element.</p>
* internal pointer to point to the next element.
*
* @return the next collation element or NULLORDER if the end of the
* iteration has been reached.
@ -357,19 +353,19 @@ public final class CollationElementIterator
}
/**
* <p>Get the previous collation element in the source string.</p>
* Get the previous collation element in the source string.
*
* <p>This iterator iterates over a sequence of collation elements
* that were built from the string. Because there isn't
* necessarily a one-to-one mapping from characters to collation
* elements, this doesn't mean the same thing as "return the
* collation element [or ordering priority] of the previous
* character in the string".</p>
* character in the string".
*
* <p>This function updates the iterator's internal pointer to
* point to the collation element preceding the one it's currently
* pointing to and then returns that element, while next() returns
* the current element and then updates the pointer.</p>
* the current element and then updates the pointer.
*
* @return the previous collation element, or NULLORDER when the start of
* the iteration has been reached.
@ -425,13 +421,13 @@ public final class CollationElementIterator
}
/**
* <p> Resets the cursor to the beginning of the string. The next
* Resets the cursor to the beginning of the string. The next
* call to next() or previous() will return the first and last
* collation element in the string, respectively.</p>
* collation element in the string, respectively.
*
* <p>If the RuleBasedCollator used by this iterator has had its
* attributes changed, calling reset() will reinitialize the
* iterator to use the new attributes.</p>
* iterator to use the new attributes.
*
* @stable ICU 2.8
*/
@ -442,21 +438,21 @@ public final class CollationElementIterator
}
/**
* <p> Sets the iterator to point to the collation element
* Sets the iterator to point to the collation element
* corresponding to the character at the specified offset. The
* value returned by the next call to next() will be the collation
* element corresponding to the characters at offset.</p>
* element corresponding to the characters at offset.
*
* <p>If offset is in the middle of a contracting character
* sequence, the iterator is adjusted to the start of the
* contracting sequence. This means that getOffset() is not
* guaranteed to return the same value set by this method.</p>
* guaranteed to return the same value set by this method.
*
* <p>If the decomposition mode is on, and offset is in the middle
* of a decomposible range of source text, the iterator may not
* return a correct result for the next forwards or backwards
* iteration. The user must ensure that the offset is not in the
* middle of a decomposible range.</p>
* middle of a decomposible range.
*
* @param newOffset the character offset into the original source string to
* set. Note that this is not an offset into the corresponding
@ -500,8 +496,8 @@ public final class CollationElementIterator
}
/**
* <p>Set a new source string for iteration, and reset the offset
* to the beginning of the text.</p>
* Set a new source string for iteration, and reset the offset
* to the beginning of the text.
*
* @param source the new source string for iteration.
* @stable ICU 2.8
@ -521,11 +517,11 @@ public final class CollationElementIterator
}
/**
* <p>Set a new source string iterator for iteration, and reset the
* Set a new source string iterator for iteration, and reset the
* offset to the beginning of the text.
* </p>
*
* <p>The source iterator's integrity will be preserved since a new copy
* will be created for use.</p>
* will be created for use.
* @param source the new source string iterator for iteration.
* @stable ICU 2.8
*/
@ -559,9 +555,9 @@ public final class CollationElementIterator
}
/**
* <p>Set a new source string iterator for iteration, and reset the
* Set a new source string iterator for iteration, and reset the
* offset to the beginning of the text.
* </p>
*
* @param source the new source string iterator for iteration.
* @stable ICU 2.8
*/
@ -654,10 +650,10 @@ public final class CollationElementIterator
}
/**
* <p> Returns the maximum length of any expansion sequence that ends with
* Returns the maximum length of any expansion sequence that ends with
* the specified collation element. If there is no expansion with this
* collation element as the last element, returns 1.
* </p>
*
* @param ce a collation element returned by previous() or next().
* @return the maximum length of any expansion sequence ending
* with the specified collation element.

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -9,16 +9,16 @@ package com.ibm.icu.text;
import com.ibm.icu.impl.coll.Collation;
/**
* <p>A <code>CollationKey</code> represents a <code>String</code>
* A <code>CollationKey</code> represents a <code>String</code>
* under the rules of a specific <code>Collator</code>
* object. Comparing two <code>CollationKey</code>s returns the
* relative order of the <code>String</code>s they represent.</p>
* relative order of the <code>String</code>s they represent.
*
* <p>Since the rule set of <code>Collator</code>s can differ, the
* sort orders of the same string under two different
* <code>Collator</code>s might differ. Hence comparing
* <code>CollationKey</code>s generated from different
* <code>Collator</code>s can give incorrect results.</p>
* <code>Collator</code>s can give incorrect results.
* <p>Both the method
* <code>CollationKey.compareTo(CollationKey)</code> and the method
@ -27,7 +27,6 @@ import com.ibm.icu.impl.coll.Collation;
* of these two approaches can differ.
* Note that collation keys are often less efficient than simply doing comparison.
* For more details, see the ICU User Guide.
* </p>
*
* <p>During the construction of a <code>CollationKey</code>, the
* entire source string is examined and processed into a series of
@ -37,7 +36,7 @@ import com.ibm.icu.impl.coll.Collation;
* startup cost when creating the <code>CollationKey</code>, but once
* the key is created, binary comparisons are fast. This approach is
* recommended when the same strings are to be compared over and over
* again.</p>
* again.
*
* <p>On the other hand, implementations of
* <code>Collator.compare(String, String)</code> can examine and
@ -65,7 +64,7 @@ import com.ibm.icu.impl.coll.Collation;
* //...
* <br>
* // Inside body of sort routine, compare keys this way
* if( keys[i].compareTo( keys[j] ) > 0 )
* if( keys[i].compareTo( keys[j] ) &gt; 0 )
* // swap keys[i] and keys[j]
* <br>
* //...
@ -76,10 +75,8 @@ import com.ibm.icu.impl.coll.Collation;
* System.out.println( keys[2].getSourceString() );
* </pre>
* </blockquote>
* </p>
* <p>
* This class is not subclassable
* </p>
* @see Collator
* @see RuleBasedCollator
* @author Syn Wee Quek
@ -197,8 +194,8 @@ public final class CollationKey implements Comparable<CollationKey>
}
/**
* <p>Duplicates and returns the value of this CollationKey as a sequence
* of big-endian bytes terminated by a null.</p>
* Duplicates and returns the value of this CollationKey as a sequence
* of big-endian bytes terminated by a null.
*
* <p>If two CollationKeys can be legitimately compared, then one can
* compare the byte arrays of each to obtain the same result, e.g.
@ -208,8 +205,8 @@ public final class CollationKey implements Comparable<CollationKey>
* int key, targetkey;
* int i = 0;
* do {
* key = key1[i] & 0xFF;
* targetkey = key2[i] & 0xFF;
* key = key1[i] &amp; 0xFF;
* targetkey = key2[i] &amp; 0xFF;
* if (key &lt; targetkey) {
* System.out.println("String 1 is less than string 2");
* return;
@ -218,11 +215,11 @@ public final class CollationKey implements Comparable<CollationKey>
* System.out.println("String 1 is more than string 2");
* }
* i ++;
* } while (key != 0 && targetKey != 0);
* } while (key != 0 &amp;&amp; targetKey != 0);
*
* System.out.println("Strings are equal.");
* </pre>
* </p>
*
* @return CollationKey value in a sequence of big-endian byte bytes
* terminated by a null.
* @stable ICU 2.8
@ -238,13 +235,13 @@ public final class CollationKey implements Comparable<CollationKey>
// public other methods -------------------------------------------------
/**
* <p>Compare this CollationKey to another CollationKey. The
* Compare this CollationKey to another CollationKey. The
* collation rules of the Collator that created this key are
* applied.</p>
* applied.
*
* <p><strong>Note:</strong> Comparison between CollationKeys
* created by different Collators might return incorrect
* results. See class documentation.</p>
* results. See class documentation.
*
* @param target target CollationKey
* @return an integer value. If the value is less than zero this CollationKey
@ -271,12 +268,12 @@ public final class CollationKey implements Comparable<CollationKey>
}
/**
* <p>Compare this CollationKey and the specified Object for
* Compare this CollationKey and the specified Object for
* equality. The collation rules of the Collator that created
* this key are applied.</p>
* this key are applied.
*
* <p>See note in compareTo(CollationKey) for warnings about
* possible incorrect results.</p>
* possible incorrect results.
*
* @param target the object to compare to.
* @return true if the two keys compare as equal, false otherwise.
@ -296,15 +293,13 @@ public final class CollationKey implements Comparable<CollationKey>
}
/**
* <p>
* Compare this CollationKey and the argument target CollationKey for
* Compare this CollationKey and the argument target CollationKey for
* equality.
* The collation
* rules of the Collator object which created these objects are applied.
* </p>
* <p>
* See note in compareTo(CollationKey) for warnings of incorrect results
* </p>
*
* @param target the CollationKey to compare to.
* @return true if two objects are equal, false otherwise.
* @exception NullPointerException is thrown when the argument is null.
@ -333,12 +328,12 @@ public final class CollationKey implements Comparable<CollationKey>
}
/**
* <p>Returns a hash code for this CollationKey. The hash value is calculated
* Returns a hash code for this CollationKey. The hash value is calculated
* on the key itself, not the String from which the key was created. Thus
* if x and y are CollationKeys, then x.hashCode(x) == y.hashCode()
* if x.equals(y) is true. This allows language-sensitive comparison in a
* hash table.
* </p>
*
* @return the hash value.
* @stable ICU 2.8
*/
@ -366,34 +361,28 @@ public final class CollationKey implements Comparable<CollationKey>
}
/**
* <p>
* Produce a bound for the sort order of a given collation key and a
* Produces a bound for the sort order of a given collation key and a
* strength level. This API does not attempt to find a bound for the
* CollationKey String representation, hence null will be returned in its
* place.
* </p>
* <p>
* Resulting bounds can be used to produce a range of strings that are
* between upper and lower bounds. For example, if bounds are produced
* for a sortkey of string "smith", strings between upper and lower
* bounds with primary strength would include "Smith", "SMITH", "sMiTh".
* </p>
* <p>
* There are two upper bounds that can be produced. If BoundMode.UPPER
* is produced, strings matched would be as above. However, if a bound
* is produced using BoundMode.UPPER_LONG is used, the above example will
* also match "Smithsonian" and similar.
* </p>
* <p>
* For more on usage, see example in test procedure
* <a href="http://source.icu-project.org/repos/icu/icu4j/trunk/src/com/ibm/icu/dev/test/collator/CollationAPITest.java">
* src/com/ibm/icu/dev/test/collator/CollationAPITest/TestBounds.
* </a>
* </p>
* <p>
* Collation keys produced may be compared using the <TT>compare</TT> API.
* </p>
* @param boundType Mode of bound required. It can be BoundMode.LOWER, which
* @param boundType Mode of bound required. It can be BoundMode.LOWER, which
* produces a lower inclusive bound, BoundMode.UPPER, that
* produces upper bound that matches strings of the same
* length or BoundMode.UPPER_LONG that matches strings that

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -33,7 +33,7 @@ import com.ibm.icu.util.VersionInfo;
*
* <p>Collator performs locale-sensitive string comparison. A concrete
* subclass, RuleBasedCollator, allows customization of the collation
* ordering by the use of rule sets.</p>
* ordering by the use of rule sets.
*
* <p>A Collator is thread-safe only when frozen. See {@link #isFrozen()} and {@link Freezable}.
*
@ -90,10 +90,10 @@ import com.ibm.icu.util.VersionInfo;
* producing the same results as if the text were normalized in NFD. If
* canonical decomposition is turned off, it is the user's responsibility to
* ensure that all text is already in the appropriate form before performing
* a comparison or before getting a CollationKey.</p>
* a comparison or before getting a CollationKey.
*
* <p>For more information about the collation service see the
* <a href="http://userguide.icu-project.org/collation">User Guide</a>.</p>
* <a href="http://userguide.icu-project.org/collation">User Guide</a>.
*
* <p>Examples of use
* <pre>
@ -124,7 +124,7 @@ import com.ibm.icu.util.VersionInfo;
* System.out.println("Error: &agrave;&#92;u0325 should be not equals to a&#92;u0325&#768; without decomposition");
* }
* </pre>
* </p>
*
* @see RuleBasedCollator
* @see CollationKey
* @author Syn Wee Quek
@ -187,10 +187,8 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* values of the NFD form of each string are compared, just in case there
* is no difference.
* See class documentation for more explanation.
* </p>
* <p>
* Note this value is different from JDK's
* </p>
* @stable ICU 2.8
*/
public final static int IDENTICAL = 15;
@ -207,9 +205,9 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* Decomposition mode value. With NO_DECOMPOSITION set, Strings
* will not be decomposed for collation. This is the default
* decomposition setting unless otherwise specified by the locale
* used to create the Collator.</p>
* used to create the Collator.
*
* <p><strong>Note</strong> this value is different from the JDK's.</p>
* <p><strong>Note</strong> this value is different from the JDK's.
* @see #CANONICAL_DECOMPOSITION
* @see #getDecomposition
* @see #setDecomposition
@ -220,12 +218,12 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Decomposition mode value. With CANONICAL_DECOMPOSITION set,
* characters that are canonical variants according to the Unicode standard
* will be decomposed for collation.</p>
* will be decomposed for collation.
*
* <p>CANONICAL_DECOMPOSITION corresponds to Normalization Form D as
* described in <a href="http://www.unicode.org/unicode/reports/tr15/">
* Unicode Technical Report #15</a>.
* </p>
*
* @see #NO_DECOMPOSITION
* @see #getDecomposition
* @see #setDecomposition
@ -306,7 +304,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Compares the equality of two Collator objects. Collator objects are equal if they have the same
* collation (sorting & searching) behavior.
* collation (sorting &amp; searching) behavior.
*
* <p>The base class checks for null and for equal types.
* Subclasses should override.
@ -332,11 +330,11 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Sets this Collator's strength attribute. The strength attribute
* determines the minimum level of difference considered significant
* during comparison.</p>
* during comparison.
*
* <p>The base class method does nothing. Subclasses should override it if appropriate.
*
* <p>See the Collator class description for an example of use.</p>
* <p>See the Collator class description for an example of use.
* @param newStrength the new strength value.
* @see #getStrength
* @see #PRIMARY
@ -373,16 +371,16 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* insure that all text is already in the appropriate form before
* a comparison or before getting a CollationKey. Adjusting
* decomposition mode allows the user to select between faster and
* more complete collation behavior.</p>
* more complete collation behavior.
*
* <p>Since a great many of the world's languages do not require
* text normalization, most locales set NO_DECOMPOSITION as the
* default decomposition mode.</p>
* default decomposition mode.
*
* <p>The base class method does nothing. Subclasses should override it if appropriate.
*
* <p>See getDecomposition for a description of decomposition
* mode.</p>
* mode.
*
* @param decomposition the new decomposition mode
* @see #getDecomposition
@ -1048,7 +1046,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* @param isAvailable If non-null, isAvailable[0] will receive and
* output boolean that indicates whether the requested locale was
* 'available' to the collation service. If non-null, isAvailable
* must have length >= 1.
* must have length &gt;= 1.
* @return the locale
* @stable ICU 3.0
*/
@ -1127,12 +1125,10 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Returns this Collator's strength attribute. The strength attribute
* determines the minimum level of difference considered significant.
* </p>
* {@icunote} This can return QUATERNARY strength, which is not supported by the
* JDK version.
* <p>
* See the Collator class description for more details.
* </p>
* <p>The base class method always returns {@link #TERTIARY}.
* Subclasses should override it if appropriate.
*
@ -1153,10 +1149,8 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Returns the decomposition mode of this Collator. The decomposition mode
* determines how Unicode composed characters are handled.
* </p>
* <p>
* See the Collator class description for more details.
* </p>
* <p>The base class method always returns {@link #NO_DECOMPOSITION}.
* Subclasses should override it if appropriate.
*
@ -1209,7 +1203,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* equal to or greater than zero depending on whether the source String is
* less than, equal to or greater than the target String. See the Collator
* class description for an example of use.
* </p>
*
* @param source the source String.
* @param target the target String.
* @return Returns an integer value. Value is less than zero if source is
@ -1224,7 +1218,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
/**
* Compares the source Object to the target Object.
* </p>
*
* @param source the source Object.
* @param target the target Object.
* @return Returns an integer value. Value is less than zero if source is
@ -1258,7 +1252,7 @@ public abstract class Collator implements Comparator<Object>, Freezable<Collator
* <p>Note that collation keys are often less efficient than simply doing comparison.
* For more details, see the ICU User Guide.
*
* <p>See the CollationKey class documentation for more information.</p>
* <p>See the CollationKey class documentation for more information.
* @param source the string to be transformed into a CollationKey.
* @return the CollationKey for the given String based on this Collator's
* collation rules. If the source String is null, a null

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -78,7 +78,7 @@ public final class RawCollationKey extends ByteArrayWrapper
* @param bytesToAdopt the byte array to adopt
* @param size the length of valid data in the byte array
* @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
* size < 0, or size > bytesToAdopt.length.
* size &lt; 0, or size &gt; bytesToAdopt.length.
* @stable ICU 2.8
*/
public RawCollationKey(byte[] bytesToAdopt, int size)

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -44,59 +44,49 @@ import com.ibm.icu.util.VersionInfo;
* RuleBasedCollator is a concrete subclass of Collator. It allows customization of the Collator via user-specified rule
* sets. RuleBasedCollator is designed to be fully compliant to the <a
* href="http://www.unicode.org/unicode/reports/tr10/">Unicode Collation Algorithm (UCA)</a> and conforms to ISO 14651.
* </p>
*
* <p>A Collator is thread-safe only when frozen. See {{@link #isFrozen()} and {@link com.ibm.icu.util.Freezable}.
*
* <p>
* Users are strongly encouraged to read the <a href="http://userguide.icu-project.org/collation">User
* Guide</a> for more information about the collation service before using this class.
* </p>
*
*
* <p>
* Create a RuleBasedCollator from a locale by calling the getInstance(Locale) factory method in the base class
* Collator. Collator.getInstance(Locale) creates a RuleBasedCollator object based on the collation rules defined by the
* argument locale. If a customized collation ordering or attributes is required, use the RuleBasedCollator(String)
* constructor with the appropriate rules. The customized RuleBasedCollator will base its ordering on the CLDR root collation, while
* re-adjusting the attributes and orders of the characters in the specified rule accordingly.
* </p>
*
*
* <p>
* RuleBasedCollator provides correct collation orders for most locales supported in ICU. If specific data for a locale
* is not available, the orders eventually falls back to the
* <a href="http://www.unicode.org/reports/tr35/tr35-collation.html#Root_Collation">CLDR root sort order</a>.
* </p>
*
*
* <p>
* For information about the collation rule syntax and details about customization, please refer to the <a
* href="http://userguide.icu-project.org/collation/customization">Collation customization</a> section of the
* User Guide.
* </p>
*
*
* <p>
* <strong>Note</strong> that there are some differences between the Collation rule syntax used in Java and ICU4J:
*
* <ul>
* <li>According to the JDK documentation: <i>
* <p>
* Modifier '!' : Turns on Thai/Lao vowel-consonant swapping. If this rule is in force when a Thai vowel of the range
* <li>According to the JDK documentation: <br>
* <i>Modifier '!' : Turns on Thai/Lao vowel-consonant swapping. If this rule is in force when a Thai vowel of the range
* &#92;U0E40-&#92;U0E44 precedes a Thai consonant of the range &#92;U0E01-&#92;U0E2E OR a Lao vowel of the range
* &#92;U0EC0-&#92;U0EC4 precedes a Lao consonant of the range &#92;U0E81-&#92;U0EAE then the vowel is placed after the
* consonant for collation purposes.
* </p>
* <p>
* <br>
* If a rule is without the modifier '!', the Thai/Lao vowel-consonant swapping is not turned on.
* </p>
* </i>
* <p>
* <br>
* ICU4J's RuleBasedCollator does not support turning off the Thai/Lao vowel-consonant swapping, since the UCA clearly
* states that it has to be supported to ensure a correct sorting order. If a '!' is encountered, it is ignored.
* </p>
* <li>As mentioned in the documentation of the base class Collator, compatibility decomposition mode is not supported.
* states that it has to be supported to ensure a correct sorting order. If a '!' is encountered, it is ignored.</li>
* <li>As mentioned in the documentation of the base class Collator, compatibility decomposition mode is not supported.</li>
* </ul>
* <p>
* <strong>Examples</strong>
* </p>
* <p>
* Creating Customized RuleBasedCollators: <blockquote>
*
@ -107,7 +97,7 @@ import com.ibm.icu.util.VersionInfo;
* String norwegian = "&amp; a , A &lt; b , B &lt; c , C &lt; d , D &lt; e , E "
* + "&lt; f , F &lt; g , G &lt; h , H &lt; i , I &lt; j , "
* + "J &lt; k , K &lt; l , L &lt; m , M &lt; n , N &lt; "
* + "o , O &lt; p , P &lt; q , Q &lt r , R &lt s , S &lt; "
* + "o , O &lt; p , P &lt; q , Q &lt;r , R &lt;s , S &lt; "
* + "t , T &lt; u , U &lt; v , V &lt; w , W &lt; x , X "
* + "&lt; y , Y &lt; z , Z &lt; &#92;u00E5 = a&#92;u030A "
* + ", &#92;u00C5 = A&#92;u030A ; aa , AA &lt; &#92;u00E6 "
@ -179,18 +169,16 @@ import com.ibm.icu.util.VersionInfo;
* // add a few Japanese characters to sort before English characters
* // suppose the last character before the first base letter 'a' in
* // the English collation rule is &#92;u2212
* String jaString = "& &#92;u2212 &lt &#92;u3041, &#92;u3042 &lt &#92;u3043, "
* String jaString = "&amp; &#92;u2212 &lt;&#92;u3041, &#92;u3042 &lt;&#92;u3043, "
* + "&#92;u3044";
* RuleBasedCollator myJapaneseCollator
* = new RuleBasedCollator(en_USCollator.getRules() + jaString);
* </pre>
*
* </blockquote>
* </p>
* <p>
* This class is not subclassable
* </p>
*
*
* @author Syn Wee Quek
* @stable ICU 2.8
*/
@ -202,12 +190,10 @@ public final class RuleBasedCollator extends Collator {
* Constructor that takes the argument rules for customization.
* The collator will be based on the CLDR root collation, with the
* attributes and re-ordering of the characters specified in the argument rules.
* </p>
* <p>
* See the User Guide's section on <a href="http://userguide.icu-project.org/collation/customization">
* Collation Customization</a> for details on the rule syntax.
* </p>
*
*
* @param rules
* the collation rules to build the collation table from.
* @exception ParseException
@ -630,12 +616,10 @@ public final class RuleBasedCollator extends Collator {
* is false, which means the case level is not generated. The contents of the case level are affected by the case
* first mode. A simple way to ignore accent differences in a string is to set the strength to PRIMARY and enable
* case level.
* </p>
* <p>
* See the section on <a href="http://userguide.icu-project.org/collation/architecture">case
* level</a> for more information.
* </p>
*
*
* @param flag
* true if case level sorting is required, false otherwise
* @stable ICU 2.8
@ -659,18 +643,18 @@ public final class RuleBasedCollator extends Collator {
* insure that all text is already in the appropriate form before
* a comparison or before getting a CollationKey. Adjusting
* decomposition mode allows the user to select between faster and
* more complete collation behavior.</p>
* more complete collation behavior.
*
* <p>Since a great many of the world's languages do not require
* text normalization, most locales set NO_DECOMPOSITION as the
* default decomposition mode.</p>
* default decomposition mode.
*
* The default decompositon mode for the Collator is
* NO_DECOMPOSITON, unless specified otherwise by the locale used
* to create the Collator.</p>
* to create the Collator.
*
* <p>See getDecomposition for a description of decomposition
* mode.</p>
* mode.
*
* @param decomposition the new decomposition mode
* @see #getDecomposition
@ -1048,18 +1032,15 @@ public final class RuleBasedCollator extends Collator {
/**
* <p>
* Get a Collation key for the argument String source from this RuleBasedCollator.
* </p>
* <p>
* General recommendation: <br>
* If comparison are to be done to the same String multiple times, it would be more efficient to generate
* CollationKeys for the Strings and use CollationKey.compareTo(CollationKey) for the comparisons. If the each
* Strings are compared to only once, using the method RuleBasedCollator.compare(String, String) will have a better
* performance.
* </p>
* <p>
* See the class documentation for an explanation about CollationKeys.
* </p>
*
*
* @param source
* the text String to be transformed into a collation key.
* @return the CollationKey for the given String based on this RuleBasedCollator's collation rules. If the source
@ -1213,7 +1194,7 @@ public final class RuleBasedCollator extends Collator {
/**
* Returns the CEs for the string.
* @param str the string
* @internal for tests & tools
* @internal for tests &amp; tools
* @deprecated This API is ICU internal only.
*/
@Deprecated
@ -1473,7 +1454,7 @@ public final class RuleBasedCollator extends Collator {
* Compares the source text String to the target text String according to the collation rules, strength and
* decomposition mode for this RuleBasedCollator. Returns an integer less than, equal to or greater than zero
* depending on whether the source String is less than, equal to or greater than the target String. See the Collator
* class description for an example of use. </p>
* class description for an example of use.
* <p>
* General recommendation: <br>
* If comparison are to be done to the same String multiple times, it would be more efficient to generate
@ -1484,8 +1465,7 @@ public final class RuleBasedCollator extends Collator {
* and stored for future use. Like CollationKey, RawCollationKey provides a method RawCollationKey.compareTo for key
* comparisons. If the each Strings are compared to only once, using the method RuleBasedCollator.compare(String,
* String) will have a better performance.
* </p>
*
*
* @param source
* the source text String.
* @param target

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -110,7 +110,7 @@ import com.ibm.icu.util.ULocale;
* <p>
* Restriction: <br>
* Currently there are no composite characters that consists of a
* character with combining class > 0 before a character with combining
* character with combining class &gt; 0 before a character with combining
* class == 0. However, if such a character exists in the future,
* <tt>StringSearch</tt> does not guarantee the results for option 1.
* <p>

View File

@ -84,17 +84,14 @@ import com.ibm.icu.util.VersionInfo;
* <a href=
* "http://source.icu-project.org/repos/icu/icu4j/trunk/src/com/ibm/icu/dev/test/lang/UCharacterCompare.java">
* com.ibm.icu.dev.test.lang.UCharacterCompare</a>
* </p>
* <p>
* In addition to Java compatibility functions, which calculate derived properties,
* this API provides low-level access to the Unicode Character Database.
* </p>
* <p>
* Unicode assigns each code point (not just assigned character) values for
* many properties.
* Most of them are simple boolean flags, or constants from a small enumerated list.
* For some properties, values are strings or other relatively more complex types.
* </p>
* <p>
* For more information see
* <a href="http://www.unicode/org/ucd/">"About the Unicode Character Database"</a>
@ -102,14 +99,12 @@ import com.ibm.icu.util.VersionInfo;
* and the <a href="http://www.icu-project.org/userguide/properties.html">ICU
* User Guide chapter on Properties</a>
* (http://www.icu-project.org/userguide/properties.html).
* </p>
* <p>
* There are also functions that provide easy migration from C/POSIX functions
* like isblank(). Their use is generally discouraged because the C/POSIX
* standards do not define their semantics beyond the ASCII range, which means
* that different implementations exhibit very different behavior.
* Instead, Unicode properties should be used directly.
* </p>
* <p>
* There are also only a few, broad C/POSIX character classes, and they tend
* to be used for conflicting purposes. For example, the "isalpha()" class
@ -118,13 +113,11 @@ import com.ibm.icu.util.VersionInfo;
* characters (the latter including combining marks).
* (In ICU, BreakIterator is the most sophisticated API for word boundaries.)
* Another example: There is no "istitle()" class for titlecase characters.
* </p>
* <p>
* ICU 3.4 and later provides API access for all twelve C/POSIX character classes.
* ICU implements them according to the Standard Recommendations in
* Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions
* (http://www.unicode.org/reports/tr18/#Compatibility_Properties).
* </p>
* <p>
* API access for C/POSIX character classes is as follows:
* <pre>{@code
@ -142,23 +135,21 @@ import com.ibm.icu.util.VersionInfo;
* - cntrl: getType(c)==CONTROL
* - graph: hasBinaryProperty(c, UProperty.POSIX_GRAPH)
* - print: hasBinaryProperty(c, UProperty.POSIX_PRINT)}</pre>
* </p>
* <p>
* The C/POSIX character classes are also available in UnicodeSet patterns,
* using patterns like [:graph:] or \p{graph}.
* </p>
*
* {@icunote} There are several ICU (and Java) whitespace functions.
* <p>{@icunote} There are several ICU (and Java) whitespace functions.
* Comparison:<ul>
* <li> isUWhiteSpace=UCHAR_WHITE_SPACE: Unicode White_Space property;
* most of general categories "Z" (separators) + most whitespace ISO controls
* (including no-break spaces, but excluding IS1..IS4 and ZWSP)
* <li> isWhitespace: Java isWhitespace; Z + whitespace ISO controls but excluding no-break spaces
* <li> isSpaceChar: just Z (including no-break spaces)</ul>
* </p>
*
* <p>
* This class is not subclassable.
* </p>
*
* @author Syn Wee Quek
* @stable ICU 2.1
* @see com.ibm.icu.lang.UCharacterEnums
@ -3514,7 +3505,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* adjust it by looking for the next cased character, and titlecase that one.
* Other characters are lowercased.
*
* This follows Unicode 4 & 5 section 3.13 Default Case Operations:
* This follows Unicode 4 &amp; 5 section 3.13 Default Case Operations:
*
* R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex
* #29, "Text Boundaries." Between each pair of word boundaries, find the first
@ -3605,16 +3596,16 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} Returns the numeric value for a Unicode code point as defined in the
* Unicode Character Database.</p>
* Unicode Character Database.
* <p>A "double" return type is necessary because some numeric values are
* fractions, negative, or too large for int.</p>
* fractions, negative, or too large for int.
* <p>For characters without any numeric values in the Unicode Character
* Database, this function will return NO_NUMERIC_VALUE.
* Note: This is different from the Unicode Standard which specifies NaN as the default value.</p>
* Note: This is different from the Unicode Standard which specifies NaN as the default value.
* <p><em>API Change:</em> In release 2.2 and prior, this API has a
* return type int and returns -1 when the argument ch does not have a
* corresponding numeric value. This has been changed to synch with ICU4C
* </p>
*
* This corresponds to the ICU4C function u_getNumericValue.
* @param ch Code point to get the numeric value for.
* @return numeric value of ch, or NO_NUMERIC_VALUE if none is defined.
@ -3650,7 +3641,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with
* those returned by java.lang.Character.getType. UCharacterCategory values
* match the ones used in ICU4C, while java.lang.Character type
* values, though similar, skip the value 17.</p>
* values, though similar, skip the value 17.
* @param ch code point whose type is to be determined
* @return category which is a value of UCharacterCategory
* @stable ICU 2.1
@ -3696,8 +3687,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* Determines if the specified code point is an ISO control character.
* A code point is considered to be an ISO control character if it is in
* the range &#92u0000 through &#92u001F or in the range &#92u007F through
* &#92u009F.<br>
* the range &#92;u0000 through &#92;u001F or in the range &#92;u007F through
* &#92;u009F.<br>
* Up-to-date Unicode implementation of java.lang.Character.isISOControl()
* @param ch code point to determine if it is an ISO control character
* @return true if code point is a ISO control character
@ -3821,16 +3812,16 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* if it satisfies one of the following criteria:
* <ul>
* <li> It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is not
* also a non-breaking space (&#92u00A0 or &#92u2007 or &#92u202F).
* <li> It is &#92u0009, HORIZONTAL TABULATION.
* <li> It is &#92u000A, LINE FEED.
* <li> It is &#92u000B, VERTICAL TABULATION.
* <li> It is &#92u000C, FORM FEED.
* <li> It is &#92u000D, CARRIAGE RETURN.
* <li> It is &#92u001C, FILE SEPARATOR.
* <li> It is &#92u001D, GROUP SEPARATOR.
* <li> It is &#92u001E, RECORD SEPARATOR.
* <li> It is &#92u001F, UNIT SEPARATOR.
* also a non-breaking space (&#92;u00A0 or &#92;u2007 or &#92;u202F).
* <li> It is &#92;u0009, HORIZONTAL TABULATION.
* <li> It is &#92;u000A, LINE FEED.
* <li> It is &#92;u000B, VERTICAL TABULATION.
* <li> It is &#92;u000C, FORM FEED.
* <li> It is &#92;u000D, CARRIAGE RETURN.
* <li> It is &#92;u001C, FILE SEPARATOR.
* <li> It is &#92;u001D, GROUP SEPARATOR.
* <li> It is &#92;u001E, RECORD SEPARATOR.
* <li> It is &#92;u001F, UNIT SEPARATOR.
* </ul>
*
* This API tries to sync with the semantics of Java's
@ -4389,8 +4380,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* {@icu} Returns a name for a valid codepoint. Unlike, getName(int) and
* getName1_0(int), this method will return a name even for codepoints that
* are not assigned a name in UnicodeData.txt.
* </p>
* The names are returned in the following order.
*
* <p>The names are returned in the following order.
* <ul>
* <li> Most current Unicode name if there is any
* <li> Unicode 1.0 name if there is any
@ -4441,7 +4432,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} <p>Finds a Unicode code point by its most current Unicode name and
* return its code point value. All Unicode names are in uppercase.</p>
* return its code point value. All Unicode names are in uppercase.
* Note calling any methods related to code point names, e.g. get*Name*()
* incurs a one-time initialisation cost to construct the name tables.
* @param name most current Unicode character name whose code point is to
@ -4457,7 +4448,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} Returns -1.
* <p>Used to find a Unicode character by its version 1.0 Unicode name and return
* its code point value.</p>
* its code point value.
* @param name Unicode 1.0 code point name whose code point is to be
* returned
* @return -1
@ -4473,13 +4464,13 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* {@icu} <p>Find a Unicode character by either its name and return its code
* point value. All Unicode names are in uppercase.
* Extended names are all lowercase except for numbers and are contained
* within angle brackets.</p>
* within angle brackets.
* The names are searched in the following order
* <ul>
* <li> Most current Unicode name if there is any
* <li> Unicode 1.0 name if there is any
* <li> Extended name in the form of
* "<codepoint_type-codepoint_hex_digits>". E.g. <noncharacter-FFFE>
* "&lt;codepoint_type-codepoint_hex_digits&gt;". E.g. &lt;noncharacter-FFFE&gt;
* </ul>
* Note calling any methods related to code point names, e.g. get*Name*()
* incurs a one-time initialisation cost to construct the name tables.
@ -4495,7 +4486,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} <p>Find a Unicode character by its corrected name alias and return
* its code point value. All Unicode names are in uppercase.</p>
* its code point value. All Unicode names are in uppercase.
* Note calling any methods related to code point names, e.g. get*Name*()
* incurs a one-time initialisation cost to construct the name tables.
* @param name Unicode name alias whose code point is to be returned
@ -4878,17 +4869,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* <p>Returns the titlecase version of the argument string.</p>
* <p>Returns the titlecase version of the argument string.
* <p>Position for titlecasing is determined by the argument break
* iterator, hence the user can customize his break iterator for
* a specialized titlecasing. In this case only the forward iteration
* needs to be implemented.
* If the break iterator passed in is null, the default Unicode algorithm
* will be used to determine the titlecase positions.
* </p>
*
* <p>Only positions returned by the break iterator will be title cased,
* character in between the positions will all be in lower case.</p>
* <p>Casing is dependent on the default locale and context-sensitive</p>
* character in between the positions will all be in lower case.
* <p>Casing is dependent on the default locale and context-sensitive
* @param str source string to be performed on
* @param breakiter break iterator to determine the positions in which
* the character should be title cased.
@ -4999,17 +4990,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* <p>Returns the titlecase version of the argument string.</p>
* <p>Returns the titlecase version of the argument string.
* <p>Position for titlecasing is determined by the argument break
* iterator, hence the user can customize his break iterator for
* a specialized titlecasing. In this case only the forward iteration
* needs to be implemented.
* If the break iterator passed in is null, the default Unicode algorithm
* will be used to determine the titlecase positions.
* </p>
*
* <p>Only positions returned by the break iterator will be title cased,
* character in between the positions will all be in lower case.</p>
* <p>Casing is dependent on the argument locale and context-sensitive</p>
* character in between the positions will all be in lower case.
* <p>Casing is dependent on the argument locale and context-sensitive
* @param locale which string is to be converted in
* @param str source string to be performed on
* @param breakiter break iterator to determine the positions in which
@ -5024,17 +5015,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* <p>Returns the titlecase version of the argument string.</p>
* <p>Returns the titlecase version of the argument string.
* <p>Position for titlecasing is determined by the argument break
* iterator, hence the user can customize his break iterator for
* a specialized titlecasing. In this case only the forward iteration
* needs to be implemented.
* If the break iterator passed in is null, the default Unicode algorithm
* will be used to determine the titlecase positions.
* </p>
*
* <p>Only positions returned by the break iterator will be title cased,
* character in between the positions will all be in lower case.</p>
* <p>Casing is dependent on the argument locale and context-sensitive</p>
* character in between the positions will all be in lower case.
* <p>Casing is dependent on the argument locale and context-sensitive
* @param locale which string is to be converted in
* @param str source string to be performed on
* @param titleIter break iterator to determine the positions in which
@ -5048,17 +5039,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* <p>Returns the titlecase version of the argument string.</p>
* <p>Returns the titlecase version of the argument string.
* <p>Position for titlecasing is determined by the argument break
* iterator, hence the user can customize his break iterator for
* a specialized titlecasing. In this case only the forward iteration
* needs to be implemented.
* If the break iterator passed in is null, the default Unicode algorithm
* will be used to determine the titlecase positions.
* </p>
*
* <p>Only positions returned by the break iterator will be title cased,
* character in between the positions will all be in lower case.</p>
* <p>Casing is dependent on the argument locale and context-sensitive</p>
* character in between the positions will all be in lower case.
* <p>Casing is dependent on the argument locale and context-sensitive
* @param locale which string is to be converted in
* @param str source string to be performed on
* @param titleIter break iterator to determine the positions in which
@ -5268,17 +5259,17 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Returns the titlecase version of the argument string.</p>
* {@icu} <p>Returns the titlecase version of the argument string.
* <p>Position for titlecasing is determined by the argument break
* iterator, hence the user can customize his break iterator for
* a specialized titlecasing. In this case only the forward iteration
* needs to be implemented.
* If the break iterator passed in is null, the default Unicode algorithm
* will be used to determine the titlecase positions.
* </p>
*
* <p>Only positions returned by the break iterator will be title cased,
* character in between the positions will all be in lower case.</p>
* <p>Casing is dependent on the argument locale and context-sensitive</p>
* character in between the positions will all be in lower case.
* <p>Casing is dependent on the argument locale and context-sensitive
* @param locale which string is to be converted in
* @param str source string to be performed on
* @param titleIter break iterator to determine the positions in which
@ -5504,8 +5495,8 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Returns an iterator for character types, iterating over codepoints.</p>
* Example of use:<br>
* {@icu} <p>Returns an iterator for character types, iterating over codepoints.
* <p>Example of use:<br>
* <pre>
* RangeValueIterator iterator = UCharacter.getTypeIterator();
* RangeValueIterator.Element element = new RangeValueIterator.Element();
@ -5561,11 +5552,11 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.</p>
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.
* <p>This API only gets the iterator for the modern, most up-to-date
* Unicode names. For older 1.0 Unicode names use get1_0NameIterator() or
* for extended names use getExtendedNameIterator().</p>
* Example of use:<br>
* for extended names use getExtendedNameIterator().
* <p>Example of use:<br>
* <pre>
* ValueIterator iterator = UCharacter.getNameIterator();
* ValueIterator.Element element = new ValueIterator.Element();
@ -5576,7 +5567,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
* }
* </pre>
* <p>The maximal range which the name iterator iterates is from
* UCharacter.MIN_VALUE to UCharacter.MAX_VALUE.</p>
* UCharacter.MIN_VALUE to UCharacter.MAX_VALUE.
* @return an iterator
* @stable ICU 2.6
*/
@ -5587,7 +5578,7 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} Returns an empty iterator.
* <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints.</p>
* <p>Used to return an iterator for the older 1.0 Unicode character names, iterating over codepoints.
* @return an empty iterator
* @deprecated ICU 49
* @see #getName1_0(int)
@ -5604,11 +5595,11 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.</p>
* {@icu} <p>Returns an iterator for character names, iterating over codepoints.
* <p>This API only gets the iterator for the extended names.
* For modern, most up-to-date Unicode names use getNameIterator() or
* for older 1.0 Unicode names use get1_0NameIterator().</p>
* Example of use:<br>
* for older 1.0 Unicode names use get1_0NameIterator().
* <p>Example of use:<br>
* <pre>
* ValueIterator iterator = UCharacter.getExtendedNameIterator();
* ValueIterator.Element element = new ValueIterator.Element();
@ -5628,13 +5619,13 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} Returns the "age" of the code point.</p>
* {@icu} Returns the "age" of the code point.
* <p>The "age" is the Unicode version when the code point was first
* designated (as a non-character or for Private Use) or assigned a
* character.
* <p>This can be useful to avoid emitting code points to receiving
* processes that do not accept newer characters.</p>
* <p>The data is from the UCD file DerivedAge.txt.</p>
* processes that do not accept newer characters.
* <p>The data is from the UCD file DerivedAge.txt.
* @param ch The code point.
* @return the Unicode version number
* @stable ICU 2.6
@ -5648,20 +5639,20 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Check a binary Unicode property for a code point.</p>
* {@icu} <p>Check a binary Unicode property for a code point.
* <p>Unicode, especially in version 3.2, defines many more properties
* than the original set in UnicodeData.txt.</p>
* than the original set in UnicodeData.txt.
* <p>This API is intended to reflect Unicode properties as defined in
* the Unicode Character Database (UCD) and Unicode Technical Reports
* (UTR).</p>
* (UTR).
* <p>For details about the properties see
* <a href=http://www.unicode.org/>http://www.unicode.org/</a>.</p>
* <a href=http://www.unicode.org/>http://www.unicode.org/</a>.
* <p>For names of Unicode properties see the UCD file
* PropertyAliases.txt.</p>
* <p>This API does not check the validity of the codepoint.</p>
* PropertyAliases.txt.
* <p>This API does not check the validity of the codepoint.
* <p>Important: If ICU is built with UCD files from Unicode versions
* below 3.2, then properties marked with "new" are not or
* not fully available.</p>
* not fully available.
* @param ch code point to test.
* @param property selector constant from com.ibm.icu.lang.UProperty,
* identifies which binary property to check.
@ -5678,9 +5669,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Check if a code point has the Alphabetic Unicode property.</p>
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC).</p>
* <p>Different from UCharacter.isLetter(ch)!</p>
* {@icu} <p>Check if a code point has the Alphabetic Unicode property.
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.ALPHABETIC).
* <p>Different from UCharacter.isLetter(ch)!
* @stable ICU 2.6
* @param ch codepoint to be tested
*/
@ -5690,9 +5681,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Check if a code point has the Lowercase Unicode property.</p>
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE).</p>
* <p>This is different from UCharacter.isLowerCase(ch)!</p>
* {@icu} <p>Check if a code point has the Lowercase Unicode property.
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.LOWERCASE).
* <p>This is different from UCharacter.isLowerCase(ch)!
* @param ch codepoint to be tested
* @stable ICU 2.6
*/
@ -5702,9 +5693,9 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Check if a code point has the Uppercase Unicode property.</p>
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE).</p>
* <p>This is different from UCharacter.isUpperCase(ch)!</p>
* {@icu} <p>Check if a code point has the Uppercase Unicode property.
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.UPPERCASE).
* <p>This is different from UCharacter.isUpperCase(ch)!
* @param ch codepoint to be tested
* @stable ICU 2.6
*/
@ -5714,10 +5705,10 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
}
/**
* {@icu} <p>Check if a code point has the White_Space Unicode property.</p>
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE).</p>
* {@icu} <p>Check if a code point has the White_Space Unicode property.
* <p>Same as UCharacter.hasBinaryProperty(ch, UProperty.WHITE_SPACE).
* <p>This is different from both UCharacter.isSpace(ch) and
* UCharacter.isWhitespace(ch)!</p>
* UCharacter.isWhitespace(ch)!
* @param ch codepoint to be tested
* @stable ICU 2.6
*/
@ -5728,15 +5719,15 @@ public final class UCharacter implements ECharacterCategory, ECharacterDirection
/**
* {@icu} <p>Returns the property value for an Unicode property type of a code point.
* Also returns binary and mask property values.</p>
* Also returns binary and mask property values.
* <p>Unicode, especially in version 3.2, defines many more properties than
* the original set in UnicodeData.txt.</p>
* the original set in UnicodeData.txt.
* <p>The properties APIs are intended to reflect Unicode properties as
* defined in the Unicode Character Database (UCD) and Unicode Technical
* Reports (UTR). For details about the properties see
* http://www.unicode.org/.</p>
* http://www.unicode.org/.
* <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
* </p>
*
* <pre>
* Sample usage:
* int ea = UCharacter.getIntPropertyValue(c, UProperty.EAST_ASIAN_WIDTH);

View File

@ -8,20 +8,20 @@
package com.ibm.icu.lang;
/**
* <p>Selection constants for Unicode properties. </p>
* <p>These constants are used in functions like
* UCharacter.hasBinaryProperty(int) to select one of the Unicode properties.
* </p>
* <p>The properties APIs are intended to reflect Unicode properties as
* defined in the Unicode Character Database (UCD) and Unicode Technical
* Reports (UTR).</p>
* <p>Selection constants for Unicode properties.
* <p>These constants are used in functions like
* UCharacter.hasBinaryProperty(int) to select one of the Unicode properties.
*
* <p>The properties APIs are intended to reflect Unicode properties as
* defined in the Unicode Character Database (UCD) and Unicode Technical
* Reports (UTR).
* <p>For details about the properties see <a href=http://www.unicode.org>
* http://www.unicode.org</a>.</p>
* http://www.unicode.org</a>.
* <p>For names of Unicode properties see the UCD file PropertyAliases.txt.
* </p>
* <p>Important: If ICU is built with UCD files from Unicode versions below
* 3.2, then properties marked with "new" are not or not fully
* available. Check UCharacter.getUnicodeVersion() to be sure.</p>
*
* <p>Important: If ICU is built with UCD files from Unicode versions below
* 3.2, then properties marked with "new" are not or not fully
* available. Check UCharacter.getUnicodeVersion() to be sure.
* @author Syn Wee Quek
* @stable ICU 2.6
* @see com.ibm.icu.lang.UCharacter
@ -38,285 +38,285 @@ public interface UProperty
@Deprecated
public static final int UNDEFINED = -1;
/**
* <p>Binary property Alphabetic. </p>
* <p>Property for UCharacter.isUAlphabetic(), different from the property
* in UCharacter.isalpha().</p>
* <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.</p>
/**
* <p>Binary property Alphabetic.
* <p>Property for UCharacter.isUAlphabetic(), different from the property
* in UCharacter.isalpha().
* <p>Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic.
* @stable ICU 2.6
*/
public static final int ALPHABETIC = 0;
*/
public static final int ALPHABETIC = 0;
/**
* First constant for binary Unicode properties.
/**
* First constant for binary Unicode properties.
* @stable ICU 2.6
*/
*/
public static final int BINARY_START = ALPHABETIC;
/**
/**
* Binary property ASCII_Hex_Digit (0-9 A-F a-f).
* @stable ICU 2.6
*/
public static final int ASCII_HEX_DIGIT = 1;
*/
public static final int ASCII_HEX_DIGIT = 1;
/**
* <p>Binary property Bidi_Control.</p>
/**
* <p>Binary property Bidi_Control.
* <p>Format controls which have specific functions in the Bidi Algorithm.
* </p>
*
* @stable ICU 2.6
*/
public static final int BIDI_CONTROL = 2;
*/
public static final int BIDI_CONTROL = 2;
/**
* <p>Binary property Bidi_Mirrored.</p>
* <p>Characters that may change display in RTL text.</p>
* <p>Property for UCharacter.isMirrored().</p>
* <p>See Bidi Algorithm; UTR 9.</p>
/**
* <p>Binary property Bidi_Mirrored.
* <p>Characters that may change display in RTL text.
* <p>Property for UCharacter.isMirrored().
* <p>See Bidi Algorithm; UTR 9.
* @stable ICU 2.6
*/
public static final int BIDI_MIRRORED = 3;
*/
public static final int BIDI_MIRRORED = 3;
/**
* <p>Binary property Dash.</p>
* <p>Variations of dashes.</p>
/**
* <p>Binary property Dash.
* <p>Variations of dashes.
* @stable ICU 2.6
*/
public static final int DASH = 4;
*/
public static final int DASH = 4;
/**
/**
* <p>Binary property Default_Ignorable_Code_Point (new).
* </p>
*
* <p>Property that indicates codepoint is ignorable in most processing.
* </p>
* <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) +
* Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)</p>
*
* <p>Codepoints (2060..206F, FFF0..FFFB, E0000..E0FFF) +
* Other_Default_Ignorable_Code_Point + (Cf + Cc + Cs - White_Space)
* @stable ICU 2.6
*/
public static final int DEFAULT_IGNORABLE_CODE_POINT = 5;
*/
public static final int DEFAULT_IGNORABLE_CODE_POINT = 5;
/**
* <p>Binary property Deprecated (new).</p>
* <p>The usage of deprecated characters is strongly discouraged.</p>
/**
* <p>Binary property Deprecated (new).
* <p>The usage of deprecated characters is strongly discouraged.
* @stable ICU 2.6
*/
public static final int DEPRECATED = 6;
*/
public static final int DEPRECATED = 6;
/**
* <p>Binary property Diacritic.</p>
* <p>Characters that linguistically modify the meaning of another
* character to which they apply.</p>
/**
* <p>Binary property Diacritic.
* <p>Characters that linguistically modify the meaning of another
* character to which they apply.
* @stable ICU 2.6
*/
public static final int DIACRITIC = 7;
*/
public static final int DIACRITIC = 7;
/**
* <p>Binary property Extender.</p>
/**
* <p>Binary property Extender.
* <p>Extend the value or shape of a preceding alphabetic character, e.g.
* length and iteration marks.</p>
* length and iteration marks.
* @stable ICU 2.6
*/
public static final int EXTENDER = 8;
*/
public static final int EXTENDER = 8;
/**
* <p>Binary property Full_Composition_Exclusion.</p>
* <p>CompositionExclusions.txt + Singleton Decompositions +
* Non-Starter Decompositions.</p>
/**
* <p>Binary property Full_Composition_Exclusion.
* <p>CompositionExclusions.txt + Singleton Decompositions +
* Non-Starter Decompositions.
* @stable ICU 2.6
*/
public static final int FULL_COMPOSITION_EXCLUSION = 9;
*/
public static final int FULL_COMPOSITION_EXCLUSION = 9;
/**
* <p>Binary property Grapheme_Base (new).</p>
* <p>For programmatic determination of grapheme cluster boundaries.
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ</p>
/**
* <p>Binary property Grapheme_Base (new).
* <p>For programmatic determination of grapheme cluster boundaries.
* [0..10FFFF]-Cc-Cf-Cs-Co-Cn-Zl-Zp-Grapheme_Link-Grapheme_Extend-CGJ
* @stable ICU 2.6
*/
public static final int GRAPHEME_BASE = 10;
*/
public static final int GRAPHEME_BASE = 10;
/**
* <p>Binary property Grapheme_Extend (new).</p>
* <p>For programmatic determination of grapheme cluster boundaries.</p>
* <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ</p>
/**
* <p>Binary property Grapheme_Extend (new).
* <p>For programmatic determination of grapheme cluster boundaries.
* <p>Me+Mn+Mc+Other_Grapheme_Extend-Grapheme_Link-CGJ
* @stable ICU 2.6
*/
public static final int GRAPHEME_EXTEND = 11;
*/
public static final int GRAPHEME_EXTEND = 11;
/**
* <p>Binary property Grapheme_Link (new).</p>
* <p>For programmatic determination of grapheme cluster boundaries.</p>
/**
* <p>Binary property Grapheme_Link (new).
* <p>For programmatic determination of grapheme cluster boundaries.
* @stable ICU 2.6
*/
public static final int GRAPHEME_LINK = 12;
*/
public static final int GRAPHEME_LINK = 12;
/**
* <p>Binary property Hex_Digit.</p>
* <p>Characters commonly used for hexadecimal numbers.</p>
/**
* <p>Binary property Hex_Digit.
* <p>Characters commonly used for hexadecimal numbers.
* @stable ICU 2.6
*/
public static final int HEX_DIGIT = 13;
*/
public static final int HEX_DIGIT = 13;
/**
* <p>Binary property Hyphen.</p>
/**
* <p>Binary property Hyphen.
* <p>Dashes used to mark connections between pieces of words, plus the
* Katakana middle dot.</p>
* Katakana middle dot.
* @stable ICU 2.6
*/
public static final int HYPHEN = 14;
/**
* <p>Binary property ID_Continue.</p>
* <p>Characters that can continue an identifier.</p>
* <p>ID_Start+Mn+Mc+Nd+Pc</p>
* <p>Binary property ID_Continue.
* <p>Characters that can continue an identifier.
* <p>ID_Start+Mn+Mc+Nd+Pc
* @stable ICU 2.6
*/
public static final int ID_CONTINUE = 15;
/**
* <p>Binary property ID_Start.</p>
* <p>Characters that can start an identifier.</p>
* <p>Lu+Ll+Lt+Lm+Lo+Nl</p>
* <p>Binary property ID_Start.
* <p>Characters that can start an identifier.
* <p>Lu+Ll+Lt+Lm+Lo+Nl
* @stable ICU 2.6
*/
public static final int ID_START = 16;
/**
* <p>Binary property Ideographic.</p>
* <p>CJKV ideographs.</p>
* <p>Binary property Ideographic.
* <p>CJKV ideographs.
* @stable ICU 2.6
*/
public static final int IDEOGRAPHIC = 17;
/**
* <p>Binary property IDS_Binary_Operator (new).</p>
* <p>Binary property IDS_Binary_Operator (new).
* <p>For programmatic determination of Ideographic Description Sequences.
* </p>
*
* @stable ICU 2.6
*/
public static final int IDS_BINARY_OPERATOR = 18;
/**
* <p>Binary property IDS_Trinary_Operator (new).</p>
* <p?For programmatic determination of Ideographic Description
* Sequences.</p>
* <p>Binary property IDS_Trinary_Operator (new).
* <p>For programmatic determination of Ideographic Description
* Sequences.
* @stable ICU 2.6
*/
public static final int IDS_TRINARY_OPERATOR = 19;
/**
* <p>Binary property Join_Control.</p>
* <p>Format controls for cursive joining and ligation.</p>
* <p>Binary property Join_Control.
* <p>Format controls for cursive joining and ligation.
* @stable ICU 2.6
*/
public static final int JOIN_CONTROL = 20;
/**
* <p>Binary property Logical_Order_Exception (new).</p>
* <p>Binary property Logical_Order_Exception (new).
* <p>Characters that do not use logical order and require special
* handling in most processing.</p>
* handling in most processing.
* @stable ICU 2.6
*/
public static final int LOGICAL_ORDER_EXCEPTION = 21;
/**
* <p>Binary property Lowercase.</p>
* <p>Binary property Lowercase.
* <p>Same as UCharacter.isULowercase(), different from
* UCharacter.islower().</p>
* <p>Ll+Other_Lowercase</p>
* UCharacter.islower().
* <p>Ll+Other_Lowercase
* @stable ICU 2.6
*/
public static final int LOWERCASE = 22;
/** <p>Binary property Math.</p>
* <p>Sm+Other_Math</p>
/** <p>Binary property Math.
* <p>Sm+Other_Math
* @stable ICU 2.6
*/
public static final int MATH = 23;
/**
* <p>Binary property Noncharacter_Code_Point.</p>
* <p>Binary property Noncharacter_Code_Point.
* <p>Code points that are explicitly defined as illegal for the encoding
* of characters.</p>
* of characters.
* @stable ICU 2.6
*/
public static final int NONCHARACTER_CODE_POINT = 24;
/**
* <p>Binary property Quotation_Mark.</p>
* <p>Binary property Quotation_Mark.
* @stable ICU 2.6
*/
public static final int QUOTATION_MARK = 25;
/**
* <p>Binary property Radical (new).</p>
* <p>Binary property Radical (new).
* <p>For programmatic determination of Ideographic Description
* Sequences.</p>
* Sequences.
* @stable ICU 2.6
*/
public static final int RADICAL = 26;
/**
* <p>Binary property Soft_Dotted (new).</p>
* <p>Characters with a "soft dot", like i or j.</p>
* <p>An accent placed on these characters causes the dot to disappear.</p>
* <p>Binary property Soft_Dotted (new).
* <p>Characters with a "soft dot", like i or j.
* <p>An accent placed on these characters causes the dot to disappear.
* @stable ICU 2.6
*/
public static final int SOFT_DOTTED = 27;
/**
* <p>Binary property Terminal_Punctuation.</p>
* <p>Binary property Terminal_Punctuation.
* <p>Punctuation characters that generally mark the end of textual
* units.</p>
* units.
* @stable ICU 2.6
*/
public static final int TERMINAL_PUNCTUATION = 28;
/**
* <p>Binary property Unified_Ideograph (new).</p>
* <p>Binary property Unified_Ideograph (new).
* <p>For programmatic determination of Ideographic Description
* Sequences.</p>
* Sequences.
* @stable ICU 2.6
*/
public static final int UNIFIED_IDEOGRAPH = 29;
/**
* <p>Binary property Uppercase.</p>
* <p>Binary property Uppercase.
* <p>Same as UCharacter.isUUppercase(), different from
* UCharacter.isUpperCase().</p>
* <p>Lu+Other_Uppercase</p>
* UCharacter.isUpperCase().
* <p>Lu+Other_Uppercase
* @stable ICU 2.6
*/
public static final int UPPERCASE = 30;
/**
* <p>Binary property White_Space.</p>
* <p>Binary property White_Space.
* <p>Same as UCharacter.isUWhiteSpace(), different from
* UCharacter.isSpace() and UCharacter.isWhitespace().</p>
* Space characters+TAB+CR+LF-ZWSP-ZWNBSP</p>
* UCharacter.isSpace() and UCharacter.isWhitespace().
* Space characters+TAB+CR+LF-ZWSP-ZWNBSP
* @stable ICU 2.6
*/
public static final int WHITE_SPACE = 31;
/**
* <p>Binary property XID_Continue.</p>
* <p>Binary property XID_Continue.
* <p>ID_Continue modified to allow closure under normalization forms
* NFKC and NFKD.</p>
* NFKC and NFKD.
* @stable ICU 2.6
*/
public static final int XID_CONTINUE = 32;
/**
* <p>Binary property XID_Start.</p>
* <p>Binary property XID_Start.
* <p>ID_Start modified to allow closure under normalization forms NFKC
* and NFKD.</p>
* and NFKD.
* @stable ICU 2.6
*/
public static final int XID_START = 33;
/**
* <p>Binary property Case_Sensitive.</p>
* <p>Binary property Case_Sensitive.
* <p>Either the source of a case
* mapping or _in_ the target of a case mapping. Not the same as
* the general category Cased_Letter.</p>
* the general category Cased_Letter.
* @stable ICU 2.6
*/
public static final int CASE_SENSITIVE = 34;

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 2001-2015 International Business Machines Corporation and
* Copyright (C) 2001-2016 International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -1153,7 +1153,7 @@ public final class UScript {
* </ul>
* In other words, if the return value is non-negative, it is c's single Script code
* and the set contains exactly this Script code.
* If the return value is -n, then the set contains c's n>=2 Script_Extensions script codes.
* If the return value is -n, then the set contains c's n&gt;=2 Script_Extensions script codes.
*
* <p>Some characters are commonly used in multiple scripts.
* For more information, see UAX #24: http://www.unicode.org/reports/tr24/.

View File

@ -9,7 +9,7 @@ import com.ibm.icu.lang.UCharacter;
/* ------------------------------------------------------------------ */
/* BigDecimal -- Decimal arithmetic for Java */
/* ------------------------------------------------------------------ */
/* Copyright IBM Corporation, 1996-2011. All Rights Reserved. */
/* Copyright IBM Corporation, 1996-2016. All Rights Reserved. */
/* */
/* The BigDecimal class provides immutable arbitrary-precision */
/* floating point (including integer) decimal numbers. */
@ -209,7 +209,7 @@ import com.ibm.icu.lang.UCharacter;
* results in <code>3.33333333E-11</code> instead of <code>0.0000000000333333333</code>.
* <p>
* The form of the exponential notation (scientific or engineering) is determined by the <code>form</code> setting.
* <eul>
* </ul>
* <p>
* The names of methods in this class follow the conventions established by <code>java.lang.Number</code>,
* <code>java.math.BigInteger</code>, and <code>java.math.BigDecimal</code> in Java 1.1 and Java 1.2.
@ -385,7 +385,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
* <p>
* Once constructed, this may become shared between several BigDecimal objects, so must not be altered.
* <p>
* For efficiency (speed), this is a byte array, with each byte taking a value of 0 -> 9.
* For efficiency (speed), this is a byte array, with each byte taking a value of 0 -&gt; 9.
* <p>
* If the first byte is 0 then the value of the number is zero (and mant.length=1, except when constructed from a
* plain number, for example, 0.000).
@ -904,7 +904,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
* </pre>
* <p>
* (Exponential notation means that the number includes an optional sign and a power of ten following an
* '</code>E</code>' that indicates how the decimal point will be shifted. Thus the <code>"4E+9"</code> above is
* '<code>E</code>' that indicates how the decimal point will be shifted. Thus the <code>"4E+9"</code> above is
* just a short way of writing <code>4000000000</code>, and the <code>"0.73e-7"</code> is short for <code>
* 0.000000073</code>.)
* <p>
@ -916,7 +916,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
* the single digit 0, and if non-zero it will have an exponent unless that exponent would be 0. The exponent must
* fit in nine digits both before and after it is expressed in scientific notation.
* <p>
* Any digits in the parameter must be decimal; that is, <code>Character.digit(c, 10)</code> (where </code>c</code>
* Any digits in the parameter must be decimal; that is, <code>Character.digit(c, 10)</code> (where <code>c</code>
* is the character in question) would not return -1.
*
* @param string The <code>String</code> to be converted.
@ -1533,7 +1533,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
/**
* Returns a <code>BigDecimal</code> whose value is <code>this*rhs</code>.
* <p>
* Implements the multiplication (<b><code> </code></b>) operator (as defined in the decimal documentation, see
* Implements the multiplication (<b><code>&#42;</code></b>) operator (as defined in the decimal documentation, see
* {@link BigDecimal class header}), and returns the result as a <code>BigDecimal</code> object.
*
* @param rhs The <code>BigDecimal</code> for the right hand side of the multiplication.
@ -1742,7 +1742,7 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
/**
* Returns a <code>BigDecimal</code> whose value is <code>this**rhs</code>.
* <p>
* Implements the power (<b><code> </code></b>) operator (as defined in the decimal documentation, see
* Implements the power (<b><code>^</code></b>) operator (as defined in the decimal documentation, see
* {@link BigDecimal class header}), and returns the result as a <code>BigDecimal</code> object.
* <p>
* The first parameter is the power to which the <code>this</code> will be raised; it must be in the range
@ -2094,8 +2094,8 @@ public class BigDecimal extends java.lang.Number implements java.io.Serializable
* <code>explaces</code> must be a positive number; it sets the number of places (digits after the sign of the
* exponent) to be used for any exponent part, the default (when <code>explaces</code> is -1) being to use as many
* as are needed. If <code>explaces</code> is not -1, space is always reserved for an exponent; if one is not needed
* (for example, if the exponent will be 0) then <code>explaces</code>+2 blanks are appended to the result. <!--
* (This preserves vertical alignment of similarly formatted numbers in a monospace font.) --> If <code>explaces
* (for example, if the exponent will be 0) then <code>explaces</code>+2 blanks are appended to the result.
* (This preserves vertical alignment of similarly formatted numbers in a monospace font.) If <code>explaces
* </code> is not -1 and is not large enough to contain the exponent, an exception is thrown.
* <p>
* <code>exdigits</code> sets the trigger point for use of exponential notation. If, before any rounding, the number

View File

@ -59,7 +59,6 @@ import com.ibm.icu.lang.UProperty;
* Some of the API methods provide access to &quot;runs&quot;. Such a
* &quot;run&quot; is defined as a sequence of characters that are at the same
* embedding level after performing the Bidi algorithm.
* <p>
*
* <h3>Basic concept: paragraph</h3>
* A piece of text can be divided into several paragraphs by characters
@ -162,7 +161,7 @@ import com.ibm.icu.lang.UProperty;
*
* <p>
* The basic assumptions are:
* </p>
*
* <ul>
* <li>Rendering is done from left to right on a horizontal line.</li>
* <li>A run of single-style, unidirectional text can be rendered at once.
@ -256,10 +255,10 @@ import com.ibm.icu.lang.UProperty;
* // iterate over style runs
* if (direction == Bidi.LTR) {
* int styleLimit;
* for (i = 0; i < styleRunCount; ++i) {
* for (i = 0; i &lt; styleRunCount; ++i) {
* styleLimit = styleRuns[i].limit;
* if (start < styleLimit) {
* if (styleLimit > limit) {
* if (start &lt; styleLimit) {
* if (styleLimit &gt; limit) {
* styleLimit = limit;
* }
* renderRun(text, start, styleLimit,
@ -273,14 +272,14 @@ import com.ibm.icu.lang.UProperty;
* } else {
* int styleStart;
*
* for (i = styleRunCount-1; i >= 0; --i) {
* if (i > 0) {
* for (i = styleRunCount-1; i &gt;= 0; --i) {
* if (i &gt; 0) {
* styleStart = styleRuns[i-1].limit;
* } else {
* styleStart = 0;
* }
* if (limit >= styleStart) {
* if (styleStart < start) {
* if (limit &gt;= styleStart) {
* if (styleStart &lt; start) {
* styleStart = start;
* }
* renderRun(text, styleStart, limit, direction,
@ -300,7 +299,7 @@ import com.ibm.icu.lang.UProperty;
* byte direction = line.getDirection();
* if (direction != Bidi.MIXED) {
* // unidirectional
* if (styleRunCount <= 1) {
* if (styleRunCount &lt;= 1) {
* renderRun(text, start, limit, direction, styleRuns[0].style);
* } else {
* renderDirectionalRun(text, start, limit, direction,
@ -317,18 +316,18 @@ import com.ibm.icu.lang.UProperty;
* e.printStackTrace();
* return;
* }
* if (styleRunCount <= 1) {
* if (styleRunCount &lt;= 1) {
* int style = styleRuns[0].style;
*
* // iterate over directional runs
* for (i = 0; i < count; ++i) {
* for (i = 0; i &lt; count; ++i) {
* run = line.getVisualRun(i);
* renderRun(text, run.getStart(), run.getLimit(),
* run.getDirection(), style);
* }
* } else {
* // iterate over both directional and style runs
* for (i = 0; i < count; ++i) {
* for (i = 0; i &lt; count; ++i) {
* run = line.getVisualRun(i);
* renderDirectionalRun(text, run.getStart(),
* run.getLimit(), run.getDirection(),
@ -352,18 +351,18 @@ import com.ibm.icu.lang.UProperty;
* e.printStackTrace();
* return;
* }
* byte paraLevel = (byte)(1 & para.getParaLevel());
* byte paraLevel = (byte)(1 &amp; para.getParaLevel());
* StyleRun styleRun = new StyleRun(length, styleNormal);
*
* if (styleRuns == null || styleRunCount <= 0) {
* if (styleRuns == null || styleRunCount &lt;= 0) {
* styleRuns = new StyleRun[1];
* styleRunCount = 1;
* styleRuns[0] = styleRun;
* }
* // assume styleRuns[styleRunCount-1].limit>=length
* // assume styleRuns[styleRunCount-1].limit&gt;=length
*
* int width = getTextWidth(text, 0, length, styleRuns, styleRunCount);
* if (width <= lineWidth) {
* if (width &lt;= lineWidth) {
* // everything fits onto one line
*
* // prepare rendering a new line from either left or right
@ -392,7 +391,7 @@ import com.ibm.icu.lang.UProperty;
* // from either left or right
* startLine(paraLevel, width);
*
* if (styleRunStart > 0) {
* if (styleRunStart &gt; 0) {
* int newRunCount = styleRuns.length - styleRunStart;
* StyleRun[] newRuns = new StyleRun[newRunCount];
* System.arraycopy(styleRuns, styleRunStart, newRuns, 0,
@ -408,7 +407,7 @@ import com.ibm.icu.lang.UProperty;
* }
* start = limit;
* styleRunStart = styleRunLimit - 1;
* if (start >= styleRuns[styleRunStart].limit) {
* if (start &gt;= styleRuns[styleRunStart].limit) {
* ++styleRunStart;
* }
* }
@ -713,7 +712,7 @@ public class Bidi {
* this is part of the approximate "inverse Bidi" algorithm
*
* <p>This option does not imply corresponding adjustment of the index
* mappings.</p>
* mappings.
*
* @see #setInverse
* @see #writeReordered
@ -727,7 +726,7 @@ public class Bidi {
* (this does not affect INSERT_LRM_FOR_NUMERIC)
*
* <p>This option does not imply corresponding adjustment of the index
* mappings.</p>
* mappings.
*
* @see #writeReordered
* @see #INSERT_LRM_FOR_NUMERIC
@ -744,7 +743,7 @@ public class Bidi {
* <code>writeReverse()</code> without mirroring.
* Doing this in the same step is faster and avoids a temporary buffer.
* An example for using this option is output to a character terminal that
* is designed for RTL scripts and stores text in reverse order.</p>
* is designed for RTL scripts and stores text in reverse order.
*
* @see #writeReordered
* @stable ICU 3.8
@ -828,10 +827,10 @@ public class Bidi {
* a reordering to a Logical order
*
* <p>This option must be set or reset before calling
* <code>setPara</code>.</p>
* <code>setPara</code>.
*
* <p>This option is significant only with reordering modes which generate
* a result with Logical order, specifically.</p>
* a result with Logical order, specifically.
* <ul>
* <li><code>REORDER_RUNS_ONLY</code></li>
* <li><code>REORDER_INVERSE_NUMBERS_AS_L</code></li>
@ -843,7 +842,7 @@ public class Bidi {
* <code>REORDER_INVERSE_NUMBERS_AS_L</code> or with calling
* <code>setInverse(true)</code>, it implies option
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
* <code>writeReordered()</code>.</p>
* <code>writeReordered()</code>.
*
* <p>For other reordering modes, a minimum number of LRM or RLM characters
* will be added to the source text after reordering it so as to ensure
@ -861,7 +860,7 @@ public class Bidi {
* <code>writeReordered()</code> and it implies option
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
* <code>writeReordered()</code> if the reordering mode is
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>.</p>
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>.
*
* @see #setReorderingMode
* @see #setReorderingOptions
@ -881,13 +880,13 @@ public class Bidi {
* remove Bidi control characters
*
* <p>This option must be set or reset before calling
* <code>setPara</code>.</p>
* <code>setPara</code>.
*
* <p>This option nullifies option
* <code>OPTION_INSERT_MARKS</code>. It inhibits option
* <code>INSERT_LRM_FOR_NUMERIC</code> in calls to method
* <code>writeReordered()</code> and it implies option
* <code>REMOVE_BIDI_CONTROLS</code> in calls to that method.</p>
* <code>REMOVE_BIDI_CONTROLS</code> in calls to that method.
*
* @see #setReorderingMode
* @see #setReorderingOptions
@ -903,12 +902,12 @@ public class Bidi {
* process the output as part of a stream to be continued
*
* <p>This option must be set or reset before calling
* <code>setPara</code>.</p>
* <code>setPara</code>.
*
* <p>This option specifies that the caller is interested in processing
* large text object in parts. The results of the successive calls are
* expected to be concatenated by the caller. Only the call for the last
* part will have this option bit off.</p>
* part will have this option bit off.
*
* <p>When this option bit is on, <code>setPara()</code> may process
* less than the full source text in order to truncate the text at a
@ -930,13 +929,12 @@ public class Bidi {
* <li>resubmit the same text after turning off option
* <code>OPTION_STREAMING</code>.</li></ul>
* In all cases, this option should be turned off before processing the last
* part of the text.</p>
* part of the text.
*
* <p>When the <code>OPTION_STREAMING</code> option is used, it is
* recommended to call <code>orderParagraphsLTR(true)</code> before calling
* <code>setPara()</code> so that later paragraphs may be concatenated to
* previous paragraphs on the right.
* </p>
*
* @see #setReorderingMode
* @see #setReorderingOptions
@ -1419,19 +1417,19 @@ public class Bidi {
* to logical order. This is effectively the inverse algorithm of the
* described Bidi algorithm. Note that there is no standard algorithm for
* this "inverse Bidi" and that the current implementation provides only an
* approximation of "inverse Bidi".</p>
* approximation of "inverse Bidi".
*
* <p>With <code>isInversed</code> set to <code>true</code>,
* this method changes the behavior of some of the subsequent methods
* in a way that they can be used for the inverse Bidi algorithm.
* Specifically, runs of text with numeric characters will be treated in a
* special way and may need to be surrounded with LRM characters when they are
* written in reordered sequence.</p>
* written in reordered sequence.
*
* <p>Output runs should be retrieved using <code>getVisualRun()</code>.
* Since the actual input for "inverse Bidi" is visually ordered text and
* <code>getVisualRun()</code> gets the reordered runs, these are actually
* the runs of the logically ordered output.</p>
* the runs of the logically ordered output.
*
* <p>Calling this method with argument <code>isInverse</code> set to
* <code>true</code> is equivalent to calling <code>setReorderingMode</code>
@ -1464,7 +1462,7 @@ public class Bidi {
* <code>setReorderingMode</code> will return <code>true</code> if the
* reordering mode was set to
* <code>REORDER_INVERSE_NUMBERS_AS_L</code>, <code>false</code>
* for all other values.</p>
* for all other values.
*
* @return <code>true</code> if the <code>Bidi</code> object is set to
* perform the inverse Bidi algorithm by handling numbers as L.
@ -1487,22 +1485,22 @@ public class Bidi {
*
* <p>The normal operation of the Bidi algorithm as described in the Unicode
* Standard Annex #9 is to take text stored in logical (keyboard, typing)
* order and to determine how to reorder it for visual rendering.</p>
* order and to determine how to reorder it for visual rendering.
*
* <p>With the reordering mode set to a value other than
* <code>REORDER_DEFAULT</code>, this method changes the behavior of some of
* the subsequent methods in a way such that they implement an inverse Bidi
* algorithm or some other algorithm variants.</p>
* algorithm or some other algorithm variants.
*
* <p>Some legacy systems store text in visual order, and for operations
* with standard, Unicode-based algorithms, the text needs to be transformed
* into logical order. This is effectively the inverse algorithm of the
* described Bidi algorithm. Note that there is no standard algorithm for
* this "inverse Bidi", so a number of variants are implemented here.</p>
* this "inverse Bidi", so a number of variants are implemented here.
*
* <p>In other cases, it may be desirable to emulate some variant of the
* Logical to Visual algorithm (e.g. one used in MS Windows), or perform a
* Logical to Logical transformation.</p>
* Logical to Logical transformation.
*
* <ul>
* <li>When the Reordering Mode is set to
@ -1616,7 +1614,7 @@ public class Bidi {
* or <code>writeReordered()</code> are actually runs or character string
* of logically ordered output.<br>
* For all the "inverse Bidi" modes, the source text should not contain
* Bidi control characters other than LRM or RLM.</p>
* Bidi control characters other than LRM or RLM.
*
* <p>Note that option <code>OUTPUT_REVERSE</code> of
* <code>writeReordered</code> has no useful meaning and should not be used
@ -3865,7 +3863,7 @@ public class Bidi {
* (same index) character if the level has the
* <code>LEVEL_OVERRIDE</code> bit set.<br><br>
* Except for that bit, it must be
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
* <code>paraLevel&lt;=embeddingLevels[]&lt;=MAX_EXPLICIT_LEVEL</code>,
* with one exception: a level of zero may be specified for a
* paragraph separator even if <code>paraLevel&gt;0</code> when multiple
* paragraphs are submitted in the same call to <code>setPara()</code>.<br><br>
@ -3949,7 +3947,7 @@ public class Bidi {
* (same index) character if the level has the
* <code>LEVEL_OVERRIDE</code> bit set.<br><br>
* Except for that bit, it must be
* <code>paraLevel<=embeddingLevels[]<=MAX_EXPLICIT_LEVEL</code>,
* <code>paraLevel&lt;=embeddingLevels[]&lt;=MAX_EXPLICIT_LEVEL</code>,
* with one exception: a level of zero may be specified for a
* paragraph separator even if <code>paraLevel&gt;0</code> when multiple
* paragraphs are submitted in the same call to <code>setPara()</code>.<br><br>
@ -4679,7 +4677,7 @@ public class Bidi {
* Retrieves the Bidi class for a given code point.
* <p>If a <code>BidiClassifier</code> is defined and returns a value
* other than <code>CLASS_DEFAULT</code>, that value is used; otherwise
* the default class determination mechanism is invoked.</p>
* the default class determination mechanism is invoked.
*
* @param c The code point to get a Bidi class for.
*
@ -5172,7 +5170,7 @@ public class Bidi {
* Some elements of the source array may have no mapping in the
* destination array. In that case, their value will be
* the special value <code>MAP_NOWHERE</code>.
* All elements must be >=0 or equal to <code>MAP_NOWHERE</code>.
* All elements must be &gt;=0 or equal to <code>MAP_NOWHERE</code>.
* Some elements in the source map may have a value greater than the
* srcMap.length if the destination array has more elements than the
* source array.
@ -5662,7 +5660,7 @@ public class Bidi {
*
* <p>The text may have been aliased (only a reference was stored
* without copying the contents), thus it must not have been modified
* since the <code>setPara()</code> call.</p>
* since the <code>setPara()</code> call.
*
* This method preserves the integrity of characters with multiple
* code units and (optionally) combining characters.

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2001-2011, International Business Machines
* Copyright (C) 2001-2016, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
*/
@ -13,7 +13,7 @@ package com.ibm.icu.text;
/**
* A BidiRun represents a sequence of characters at the same embedding level.
* The Bidi algorithm decomposes a piece of text into sequences of characters
* at the same embedding level, each such sequence is called a <quote>run</quote>.
* at the same embedding level, each such sequence is called a "run".
*
* <p>A BidiRun represents such a run by storing its essential properties,
* but does not duplicate the characters which form the run.

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -181,7 +181,7 @@ import com.ibm.icu.util.ULocale;
* int last = wb.following(pos);
* int current = wb.next();
* while (current != BreakIterator.DONE) {
* for (int p = last; p < current; p++) {
* for (int p = last; p &lt; current; p++) {
* if (Character.isLetter(text.charAt(p)))
* return last;
* }

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 2005-2014, International Business Machines Corporation and *
* Copyright (C) 2005-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -22,17 +22,17 @@ import java.util.List;
* The result of the detection operation is a list of possibly matching
* charsets, or, for simple use, you can just ask for a Java Reader that
* will will work over the input data.
* <p/>
* <p>
* Character set detection is at best an imprecise operation. The detection
* process will attempt to identify the charset that best matches the characteristics
* of the byte data, but the process is partly statistical in nature, and
* the results can not be guaranteed to always be correct.
* <p/>
* <p>
* For best accuracy in charset detection, the input data should be primarily
* in a single language, and a minimum of a few hundred bytes worth of plain text
* in the language are needed. The detection process will attempt to
* ignore html or xml style markup that could otherwise obscure the content.
* <p/>
* <p>
* @stable ICU 3.4
*/
public class CharsetDetector {
@ -63,7 +63,7 @@ public class CharsetDetector {
* A match between a declared encoding and a possible detected encoding
* will raise the quality of that detected encoding by a small delta,
* and will also appear as a "reason" for the match.
* <p/>
* <p>
* A declared encoding that is incompatible with the input data being
* analyzed will not be added to the list of possible encodings.
*
@ -96,7 +96,7 @@ public class CharsetDetector {
/**
* Set the input text (byte) data whose charset is to be detected.
* <p/>
* <p>
* The input stream that supplies the character data must have markSupported()
* == true; the charset detection process will read a small amount of data,
* then return the stream to its original position via
@ -140,7 +140,7 @@ public class CharsetDetector {
* only looks at the start of the input data,
* there is a possibility that the returned charset will fail to handle
* the full set of input data.
* <p/>
* <p>
* Raise an exception if
* <ul>
* <li>no charset appears to match the data.</li>
@ -170,7 +170,7 @@ public class CharsetDetector {
* Return an array of all charsets that appear to be plausible
* matches with the input data. The array is ordered with the
* best quality match first.
* <p/>
* <p>
* Raise an exception if
* <ul>
* <li>no charsets appear to match the input data.</li>
@ -209,16 +209,16 @@ public class CharsetDetector {
/**
* Autodetect the charset of an inputStream, and return a Java Reader
* to access the converted input data.
* <p/>
* <p>
* This is a convenience method that is equivalent to
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getReader();</code>
* <p/>
* <p>
* For the input stream that supplies the character data, markSupported()
* must be true; the charset detection will read a small amount of data,
* then return the stream to its original position via
* the InputStream.reset() operation. The exact amount that will
* be read depends on the characteristics of the data itself.
*<p/>
*<p>
* Raise an exception if no charsets appear to match the input data.
*
* @param in The source of the byte data in the unknown charset.
@ -249,10 +249,10 @@ public class CharsetDetector {
/**
* Autodetect the charset of an inputStream, and return a String
* containing the converted input data.
* <p/>
* <p>
* This is a convenience method that is equivalent to
* <code>this.setDeclaredEncoding(declaredEncoding).setText(in).detect().getString();</code>
*<p/>
*<p>
* Raise an exception if no charsets appear to match the input data.
*
* @param in The source of the byte data in the unknown charset.
@ -321,7 +321,7 @@ public class CharsetDetector {
/**
* Enable filtering of input text. If filtering is enabled,
* text within angle brackets ("<" and ">") will be removed
* text within angle brackets ("&lt;" and "&gt;") will be removed
* before detection.
*
* @param filter <code>true</code> to enable input text filtering.

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 2005-2012, International Business Machines Corporation and *
* Copyright (C) 2005-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -18,9 +18,9 @@ import java.io.Reader;
* as a possible encoding for a set of input data. From an instance of this
* class, you can ask for a confidence level in the charset identification,
* or for Java Reader or String to access the original byte data in Unicode form.
* <p/>
* <p>
* Instances of this class are created only by CharsetDetectors.
* <p/>
* <p>
* Note: this class has a natural ordering that is inconsistent with equals.
* The natural ordering is based on the match confidence value.
*
@ -32,7 +32,7 @@ public class CharsetMatch implements Comparable<CharsetMatch> {
/**
* Create a java.io.Reader for reading the Unicode character data corresponding
* to the original byte data supplied to the Charset detect operation.
* <p/>
* <p>
* CAUTION: if the source of the byte data was an InputStream, a Reader
* can be created for only one matching char set using this method. If more
* than one charset needs to be tried, the caller will need to reset

View File

@ -35,7 +35,7 @@ import com.ibm.icu.util.ULocale.Category;
* <p>
* DateFormat is an abstract class for date/time formatting subclasses which formats and parses dates or time in a
* language-independent manner. The date/time formatting subclass, such as SimpleDateFormat, allows for formatting
* (i.e., date -> text), parsing (text -> date), and normalization. The date is represented as a <code>Date</code>
* (i.e., date -&gt; text), parsing (text -&gt; date), and normalization. The date is represented as a <code>Date</code>
* object or as the milliseconds since January 1, 1970, 00:00:00 GMT.
*
* <p>
@ -125,7 +125,7 @@ import com.ibm.icu.util.ULocale.Category;
* <li>align any particular field, or find out where it is for selection on the screen.
* </ul>
*
* <h4>Synchronization</h4>
* <h3>Synchronization</h3>
*
* Date formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple
* threads access a format concurrently, it must be synchronized externally.
@ -1613,13 +1613,13 @@ public abstract class DateFormat extends UFormat {
* lenient parsing, the parser may use heuristics to interpret inputs that
* do not precisely match this object's format. Without lenient parsing,
* inputs must match this object's format more closely.
* <br/><br/>
* <br><br>
* <b>Note:</b> ICU 53 introduced finer grained control of leniency (and added
* new control points) making the preferred method a combination of
* setCalendarLenient() & setBooleanAttribute() calls.
* setCalendarLenient() &amp; setBooleanAttribute() calls.
* This method supports prior functionality but may not support all
* future leniency control & behavior of DateFormat. For control of pre 53 leniency,
* Calendar and DateFormat whitespace & numeric tolerance, this method is safe to
* future leniency control &amp; behavior of DateFormat. For control of pre 53 leniency,
* Calendar and DateFormat whitespace &amp; numeric tolerance, this method is safe to
* use. However, mixing leniency control via this method and modification of the
* newer attributes via setBooleanAttribute() may produce undesirable
* results.
@ -1638,7 +1638,7 @@ public abstract class DateFormat extends UFormat {
}
/**
* Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace &
* Returns whether both date/time parsing in the encapsulated Calendar object and DateFormat whitespace &amp;
* numeric processing is lenient.
* @stable ICU 2.0
*/

View File

@ -573,6 +573,7 @@ public class DateFormatSymbols implements Serializable, Cloneable {
* <li><code>zoneStrings[i][5]</code> - location name of zone</li>
* <li><code>zoneStrings[i][6]</code> - long generic name of zone</li>
* <li><code>zoneStrings[i][7]</code> - short generic of zone</li>
* </ul>
* The zone ID is <em>not</em> localized; it corresponds to the ID
* value associated with a system time zone object. All other entries
* are localized names. If a zone does not implement daylight savings

View File

@ -90,7 +90,7 @@ import com.ibm.icu.util.ULocale.Category;
* second (though we do not currently have specific intervalFormat data for
* skeletons with seconds).
* Those calendar fields can be defined in the following order:
* year > month > date > hour (in day) > minute > second
* year &gt; month &gt; date &gt; hour (in day) &gt; minute &gt; second
*
* The largest different calendar fields between 2 calendars is the
* first different calendar field in above order.
@ -248,7 +248,7 @@ import com.ibm.icu.util.ULocale.Category;
*
*
* </pre>
* <h4>Synchronization</h4>
* <h3>Synchronization</h3>
*
* The format methods of DateIntervalFormat may be used concurrently from multiple threads.
* Functions that alter the state of a DateIntervalFormat object (setters)
@ -919,7 +919,6 @@ public class DateIntervalFormat extends UFormat {
* date time interval strings into Formattable objects with
* DateInterval type, which is a pair of UDate.
* <P>
* <P>
* Before calling, set parse_pos.index to the offset you want to start
* parsing at in the source. After calling, parse_pos.index is the end of
* the text you parsed. If error occurs, index is unchanged.

View File

@ -81,7 +81,7 @@ import com.ibm.icu.util.UResourceBundle;
* second (though we do not currently have specific intervalFormat data for
* skeletons with seconds).
* Those calendar fields can be defined in the following order:
* year > month > date > am-pm > hour > minute > second
* year &gt; month &gt; date &gt; am-pm &gt; hour &gt; minute &gt; second
*
* The largest different calendar fields between 2 calendars is the
* first different calendar field in above order.

View File

@ -25,6 +25,7 @@ import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import com.ibm.icu.impl.ICUCache;
import com.ibm.icu.impl.ICUResourceBundle;
import com.ibm.icu.impl.PatternTokenizer;
@ -93,7 +94,7 @@ public class DateTimePatternGenerator implements Freezable<DateTimePatternGenera
/**
* Construct a flexible generator according to data for a given locale.
* @param locale The {@link java.text.Locale} to pass.
* @param locale The {@link java.util.Locale} to pass.
* @stable ICU 54
*/
public static DateTimePatternGenerator getInstance(Locale locale) {

View File

@ -67,9 +67,9 @@ import com.ibm.icu.util.ULocale.Category;
* Locale[] locales = NumberFormat.getAvailableLocales();
* double myNumber = -1234.56;
* NumberFormat format;
* for (int j=0; j<3; ++j) {
* for (int j=0; j&lt;3; ++j) {
* System.out.println("FORMAT");
* for (int i = 0; i < locales.length; ++i) {
* for (int i = 0; i &lt; locales.length; ++i) {
* if (locales[i].getCountry().length() == 0) {
* // Skip language-only locales
* continue;
@ -86,34 +86,34 @@ import com.ibm.icu.util.ULocale.Category;
* try {
* // Assume format is a DecimalFormat
* System.out.print(": " + ((DecimalFormat) format).toPattern()
* + " -> " + form.format(myNumber));
* + " -&gt; " + form.format(myNumber));
* } catch (Exception e) {}
* try {
* System.out.println(" -> " + format.parse(form.format(myNumber)));
* System.out.println(" -&gt; " + format.parse(form.format(myNumber)));
* } catch (ParseException e) {}
* }
* }</pre></blockquote>
*
* <p>Another example use getInstance(style).<br/>
* <p>Another example use getInstance(style).<br>
* Print out a number using the localized number, currency, percent,
* scientific, integer, iso currency, and plural currency format for each locale.
*
* <blockquote><pre>
* ULocale locale = new ULocale("en_US");
* double myNumber = 1234.56;
* for (int j=NumberFormat.NUMBERSTYLE; j<=NumberFormat.PLURALCURRENCYSTYLE; ++j) {
* for (int j=NumberFormat.NUMBERSTYLE; j&lt;=NumberFormat.PLURALCURRENCYSTYLE; ++j) {
* NumberFormat format = NumberFormat.getInstance(locale, j);
* try {
* // Assume format is a DecimalFormat
* System.out.print(": " + ((DecimalFormat) format).toPattern()
* + " -> " + form.format(myNumber));
* + " -&gt; " + form.format(myNumber));
* } catch (Exception e) {}
* try {
* System.out.println(" -> " + format.parse(form.format(myNumber)));
* System.out.println(" -&gt; " + format.parse(form.format(myNumber)));
* } catch (ParseException e) {}
* }</pre></blockquote>
*
* <h4>Patterns</h4>
* <h3>Patterns</h3>
*
* <p>A <code>DecimalFormat</code> consists of a <em>pattern</em> and a set of
* <em>symbols</em>. The pattern may be set directly using {@link #applyPattern}, or
@ -146,74 +146,74 @@ import com.ibm.icu.util.ULocale.Category;
* <blockquote>
* <table border=0 cellspacing=3 cellpadding=0 summary="Chart showing symbol,
* location, localized, and meaning.">
* <tr bgcolor="#ccccff">
* <tr style="background-color: #ccccff">
* <th align=left>Symbol
* <th align=left>Location
* <th align=left>Localized?
* <th align=left>Meaning
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>0</code>
* <td>Number
* <td>Yes
* <td>Digit
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>1-9</code>
* <td>Number
* <td>Yes
* <td>'1' through '9' indicate rounding.
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>@</code>
* <td>Number
* <td>No
* <td>Significant digit
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>#</code>
* <td>Number
* <td>Yes
* <td>Digit, zero shows as absent
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>.</code>
* <td>Number
* <td>Yes
* <td>Decimal separator or monetary decimal separator
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>-</code>
* <td>Number
* <td>Yes
* <td>Minus sign
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>,</code>
* <td>Number
* <td>Yes
* <td>Grouping separator
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>E</code>
* <td>Number
* <td>Yes
* <td>Separates mantissa and exponent in scientific notation.
* <em>Need not be quoted in prefix or suffix.</em>
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>+</code>
* <td>Exponent
* <td>Yes
* <td>Prefix positive exponents with localized plus sign.
* <em>Need not be quoted in prefix or suffix.</em>
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>;</code>
* <td>Subpattern boundary
* <td>Yes
* <td>Separates positive and negative subpatterns
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>%</code>
* <td>Prefix or suffix
* <td>Yes
* <td>Multiply by 100 and show as percentage
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>&#92;u2030</code>
* <td>Prefix or suffix
* <td>Yes
* <td>Multiply by 1000 and show as per mille
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>&#164;</code> (<code>&#92;u00A4</code>)
* <td>Prefix or suffix
* <td>No
@ -223,7 +223,7 @@ import com.ibm.icu.util.ULocale.Category;
* "US dollar" or "US dollars" for America.
* If present in a pattern, the monetary decimal separator
* is used instead of the decimal separator.
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>'</code>
* <td>Prefix or suffix
* <td>No
@ -231,7 +231,7 @@ import com.ibm.icu.util.ULocale.Category;
* for example, <code>"'#'#"</code> formats 123 to
* <code>"#123"</code>. To create a single quote
* itself, use two in a row: <code>"# o''clock"</code>.
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>*</code>
* <td>Prefix or suffix boundary
* <td>Yes
@ -390,7 +390,7 @@ import com.ibm.icu.util.ULocale.Category;
* with the positive or negative prefixes and suffixes applied. The infinity character is
* determined by the {@link DecimalFormatSymbols} object.
*
* <a name="sci"><h4>Scientific Notation</h4></a>
* <h4><a name="sci">Scientific Notation</a></h4>
*
* <p>Numbers in scientific notation are expressed as the product of a mantissa and a
* power of ten, for example, 1234 can be expressed as 1.234 x 10<sup>3</sup>. The
@ -440,7 +440,7 @@ import com.ibm.icu.util.ULocale.Category;
*
* </ul>
*
* <a name="sigdig"><h4>Significant Digits</h4></a>
* <h4><a name="sigdig">Significant Digits</a></h4>
*
* <code>DecimalFormat</code> has two ways of controlling how many digits are shows: (a)
* significant digits counts, or (b) integer and fraction digit counts. Integer and
@ -452,31 +452,31 @@ import com.ibm.icu.util.ULocale.Category;
*
* <blockquote>
* <table border=0 cellspacing=3 cellpadding=0>
* <tr bgcolor="#ccccff">
* <tr style="background-color: #ccccff">
* <th align=left>Pattern
* <th align=left>Minimum significant digits
* <th align=left>Maximum significant digits
* <th align=left>Number
* <th align=left>Output of format()
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>@@@</code>
* <td>3
* <td>3
* <td>12345
* <td><code>12300</code>
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>@@@</code>
* <td>3
* <td>3
* <td>0.12345
* <td><code>0.123</code>
* <tr valign=top>
* <tr style="vertical-align: top;">
* <td><code>@@##</code>
* <td>2
* <td>4
* <td>3.14159
* <td><code>3.142</code>
* <tr valign=top bgcolor="#eeeeff">
* <tr style="vertical-align: top; background-color: #eeeeff;">
* <td><code>@@##</code>
* <td>2
* <td>4
@ -1900,7 +1900,7 @@ public class DecimalFormat extends NumberFormat {
*
* @param text the text to parse
* @param pos input-output position; on input, the position within text to match; must
* have 0 <= pos.getIndex() < text.length(); on output, the position after the last
* have 0 &lt;= pos.getIndex() &lt; text.length(); on output, the position after the last
* matched character. If the parse fails, the position in unchanged upon output.
* @return a CurrencyAmount, or null upon failure
* @stable ICU 49
@ -3298,7 +3298,7 @@ public class DecimalFormat extends NumberFormat {
* symbol). For a permill, set the suffixes to have "\u2031" and the multiplier to be
* 1000.
*
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
* <p>Examples: with 100, 1.23 -&gt; "123", and "123" -&gt; 1.23
*
* @return the multiplier
* @stable ICU 2.0
@ -3313,7 +3313,7 @@ public class DecimalFormat extends NumberFormat {
* symbol). For a permill, set the suffixes to have "\u2031" and the multiplier to be
* 1000.
*
* <p>Examples: with 100, 1.23 -> "123", and "123" -> 1.23
* <p>Examples: with 100, 1.23 -&gt; "123", and "123" -&gt; 1.23
*
* @param newValue the multiplier
* @stable ICU 2.0
@ -3347,7 +3347,7 @@ public class DecimalFormat extends NumberFormat {
*
* @param newValue A positive rounding increment, or <code>null</code> or
* <code>BigDecimal(0.0)</code> to use the default rounding increment.
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
* @throws IllegalArgumentException if <code>newValue</code> is &lt; 0.0
* @see #getRoundingIncrement
* @see #getRoundingMode
* @see #setRoundingMode
@ -3367,7 +3367,7 @@ public class DecimalFormat extends NumberFormat {
*
* @param newValue A positive rounding increment, or <code>null</code> or
* <code>BigDecimal(0.0)</code> to use the default rounding increment.
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
* @throws IllegalArgumentException if <code>newValue</code> is &lt; 0.0
* @see #getRoundingIncrement
* @see #getRoundingMode
* @see #setRoundingMode
@ -3392,7 +3392,7 @@ public class DecimalFormat extends NumberFormat {
*
* @param newValue A positive rounding increment, or 0.0 to use the default
* rounding increment.
* @throws IllegalArgumentException if <code>newValue</code> is < 0.0
* @throws IllegalArgumentException if <code>newValue</code> is &lt; 0.0
* @see #getRoundingIncrement
* @see #getRoundingMode
* @see #setRoundingMode
@ -3474,7 +3474,7 @@ public class DecimalFormat extends NumberFormat {
*
* @param width the width to which to pad the result of
* <code>format()</code>, or zero to disable padding
* @exception IllegalArgumentException if <code>width</code> is < 0
* @exception IllegalArgumentException if <code>width</code> is &lt; 0
* @see #getFormatWidth
* @see #getPadCharacter
* @see #setPadCharacter
@ -3587,7 +3587,7 @@ public class DecimalFormat extends NumberFormat {
/**
* {@icu} Sets whether or not scientific notation is used. When scientific notation is
* used, the effective maximum number of integer digits is <= 8. If the maximum number
* used, the effective maximum number of integer digits is &lt;= 8. If the maximum number
* of integer digits is set to more than 8, the effective maximum will be 1. This
* allows this call to generate a 'default' scientific number format without
* additional changes.
@ -3623,9 +3623,9 @@ public class DecimalFormat extends NumberFormat {
* {@icu} Sets the minimum exponent digits that will be shown. This has no effect
* unless scientific notation is in use.
*
* @param minExpDig a value >= 1 indicating the fewest exponent
* @param minExpDig a value &gt;= 1 indicating the fewest exponent
* digits that will be shown
* @exception IllegalArgumentException if <code>minExpDig</code> < 1
* @exception IllegalArgumentException if <code>minExpDig</code> &lt; 1
* @see #setScientificNotation
* @see #isScientificNotation
* @see #getMinimumExponentDigits
@ -3789,8 +3789,8 @@ public class DecimalFormat extends NumberFormat {
/**
* Returns the behavior of the decimal separator with integers. (The decimal
* separator will always appear with decimals.) <p> Example: Decimal ON: 12345 ->
* 12345.; OFF: 12345 -> 12345
* separator will always appear with decimals.) <p> Example: Decimal ON: 12345 -&gt;
* 12345.; OFF: 12345 -&gt; 12345
*
* @stable ICU 2.0
*/
@ -3826,12 +3826,12 @@ public class DecimalFormat extends NumberFormat {
* will always appear with decimals.)
*
* <p>This only affects formatting, and only where there might be no digits after the
* decimal point, e.g., if true, 3456.00 -> "3,456." if false, 3456.00 -> "3456" This
* decimal point, e.g., if true, 3456.00 -&gt; "3,456." if false, 3456.00 -&gt; "3456" This
* is independent of parsing. If you want parsing to stop at the decimal point, use
* setParseIntegerOnly.
*
* <p>
* Example: Decimal ON: 12345 -> 12345.; OFF: 12345 -> 12345
* Example: Decimal ON: 12345 -&gt; 12345.; OFF: 12345 -&gt; 12345
*
* @stable ICU 2.0
*/
@ -4561,7 +4561,7 @@ public class DecimalFormat extends NumberFormat {
* typical end-user desire; use setMaximumInteger if you want to set a real value. For
* negative numbers, use a second pattern, separated by a semicolon
*
* <p>Example "#,#00.0#" -> 1,234.56
* <p>Example "#,#00.0#" -&gt; 1,234.56
*
* <p>This means a minimum of 2 integer digits, 1 fraction digit, and a maximum of 2
* fraction digits.
@ -4587,7 +4587,7 @@ public class DecimalFormat extends NumberFormat {
* typical end-user desire; use setMaximumInteger if you want to set a real value. For
* negative numbers, use a second pattern, separated by a semicolon
*
* <p>Example "#,#00.0#" -> 1,234.56
* <p>Example "#,#00.0#" -&gt; 1,234.56
*
* <p>This means a minimum of 2 integer digits, 1 fraction digit, and a maximum of 2
* fraction digits.
@ -5631,7 +5631,7 @@ public class DecimalFormat extends NumberFormat {
private boolean useSignificantDigits = false;
/**
* The minimum number of significant digits to show. Must be >= 1 and <=
* The minimum number of significant digits to show. Must be &gt;= 1 and &lt;=
* maxSignificantDigits. Ignored unless useSignificantDigits == true.
*
* @serial
@ -5640,7 +5640,7 @@ public class DecimalFormat extends NumberFormat {
private int minSignificantDigits = 1;
/**
* The maximum number of significant digits to show. Must be >=
* The maximum number of significant digits to show. Must be &gt;=
* minSignficantDigits. Ignored unless useSignificantDigits == true.
*
* @serial
@ -5733,7 +5733,7 @@ public class DecimalFormat extends NumberFormat {
private MathContext mathContext = new MathContext(0, MathContext.PLAIN);
/**
* The padded format width, or zero if there is no padding. Must be >= 0. Default
* The padded format width, or zero if there is no padding. Must be &gt;= 0. Default
* value zero.
*
* @serial

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2014, International Business Machines Corporation and
* Copyright (C) 2014-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -42,7 +42,7 @@ public abstract class FilteredBreakIteratorBuilder {
* Construct a FilteredBreakIteratorBuilder based on rules in a locale.
* The rules are taken from CLDR exception data for the locale,
* see http://www.unicode.org/reports/tr35/tr35-general.html#Segmentation_Exceptions
* This is the equivalent of calling createInstance(UErrorCode&)
* This is the equivalent of calling createInstance(UErrorCode&amp;)
* and then repeatedly calling addNoBreakAfter(...) with the contents
* of the CLDR exception data.
* @param where the locale.

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2003-2014, International Business Machines Corporation and *
* Copyright (C) 2003-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -879,7 +879,7 @@ public abstract class IDNA {
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
* If this option is set and the input does not satisfy STD3 rules,
* the operation will fail with ParseException
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
* @return 0 if the strings are equal, &gt; 0 if s1 &gt; s2 and &lt; 0 if s1 &lt; s2
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
*/
@Deprecated
@ -915,7 +915,7 @@ public abstract class IDNA {
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
* If this option is set and the input does not satisfy STD3 rules,
* the operation will fail with ParseException
* @return 0 if the strings are equal, > 0 if s1 > s2 and < 0 if s1 < s2
* @return 0 if the strings are equal, &gt; 0 if s1 &gt; s2 and &lt; 0 if s1 &lt; s2
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
*/
@Deprecated
@ -949,7 +949,7 @@ public abstract class IDNA {
* - IDNA.USE_STD3_RULES Use STD3 ASCII rules for host name syntax restrictions
* If this option is set and the input does not satisfy STD3 rules,
* the operation will fail with ParseException
* @return 0 if the strings are equal, > 0 if i1 > i2 and < 0 if i1 < i2
* @return 0 if the strings are equal, &gt; 0 if i1 &gt; i2 and &lt; 0 if i1 &lt; i2
* @deprecated ICU 55 Use UTS 46 instead via {@link #getUTS46Instance(int)}.
*/
@Deprecated

View File

@ -1,6 +1,6 @@
/*
***************************************************************************
* Copyright (C) 2008-2015, Google, International Business Machines Corporation
* Copyright (C) 2008-2016, Google, International Business Machines Corporation
* and others. All Rights Reserved.
***************************************************************************
*/
@ -285,7 +285,7 @@ public class IdentifierInfo {
* to be of a script that already appears elsewhere in the identifier
* when possible.
* The alternate script computation may not be perfect. The distinction
* between 0, 1 and > 1 scripts will be valid, however.
* between 0, 1 and &gt; 1 scripts will be valid, however.
* @return the number of scripts.
* @internal
* @deprecated This API is ICU internal only.

View File

@ -373,7 +373,7 @@ public abstract class LocaleDisplayNames {
* Return a comparator that compares the locale names for the display locale or the in-self names,
* depending on an input parameter.
* @param inSelf if true, compares the nameInSelf, otherwise the nameInDisplayLocale
* @param comparator (meant for strings, but because Java Collator doesn't have &lt;String>...)
* @param comparator (meant for strings, but because Java Collator doesn't have &lt;String&gt;...)
* @return UiListItem comparator
* @draft ICU 55
* @provisional This API might change or be removed in a future release.

View File

@ -297,7 +297,7 @@ public class MeasureFormat extends UFormat {
* <code>formatMeasures</code> method is preferred over calling
* this method as they give better performance.
*
* @param obj must be a Collection<? extends Measure>, Measure[], or Measure object.
* @param obj must be a Collection&lt;? extends Measure&gt;, Measure[], or Measure object.
* @param toAppendTo Formatted string appended here.
* @param pos Identifies a field in the formatted text.
* @see java.text.Format#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)

View File

@ -96,7 +96,7 @@ import com.ibm.icu.util.ULocale.Category;
* A numbered pattern argument is matched with a map key that contains that number
* as an ASCII-decimal-digit string (without leading zero).
*
* <h4><a name="patterns">Patterns and Their Interpretation</a></h4>
* <h3><a name="patterns">Patterns and Their Interpretation</a></h3>
*
* <code>MessageFormat</code> uses patterns of the following form:
* <blockquote><pre>
@ -152,7 +152,7 @@ import com.ibm.icu.util.ULocale.Category;
* shown in the table are illegal. Any <code>argStyleText</code> must
* be a valid pattern string for the Format subclass used.
*
* <p><table border=1>
* <table border=1>
* <tr>
* <th>argType
* <th>argStyle
@ -194,7 +194,7 @@ import com.ibm.icu.util.ULocale.Category;
* <td><code>DateFormat.getDateInstance(DateFormat.FULL, getLocale())</code>
* <tr>
* <td><i>argStyleText</i>
* <td><code>new SimpleDateFormat(argStyleText, getLocale())
* <td><code>new SimpleDateFormat(argStyleText, getLocale())</code>
* <tr>
* <td rowspan=6><code>time</code>
* <td><i>(none)</i>
@ -213,24 +213,23 @@ import com.ibm.icu.util.ULocale.Category;
* <td><code>DateFormat.getTimeInstance(DateFormat.FULL, getLocale())</code>
* <tr>
* <td><i>argStyleText</i>
* <td><code>new SimpleDateFormat(argStyleText, getLocale())
* <td><code>new SimpleDateFormat(argStyleText, getLocale())</code>
* <tr>
* <td><code>spellout</code>
* <td><i>argStyleText (optional)</i>
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.SPELLOUT)
* <br/>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* <br>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* <tr>
* <td><code>ordinal</code>
* <td><i>argStyleText (optional)</i>
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.ORDINAL)
* <br/>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* <br>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* <tr>
* <td><code>duration</code>
* <td><i>argStyleText (optional)</i>
* <td><code>new RuleBasedNumberFormat(getLocale(), RuleBasedNumberFormat.DURATION)
* <br/>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* <br>&nbsp;&nbsp;&nbsp;&nbsp;.setDefaultRuleset(argStyleText);</code>
* </table>
* <p>
*
* <h4><a name="diffsjdk">Differences from java.text.MessageFormat</a></h4>
*
@ -878,7 +877,7 @@ public class MessageFormat extends UFormat {
* argument is <i>unavailable</i> if <code>arguments</code> is
* <code>null</code> or has fewer than argumentIndex+1 elements. When
* an argument is unavailable no substitution is performed.
* <p>
*
* <table border=1>
* <tr>
* <th>argType or Format
@ -1048,7 +1047,7 @@ public class MessageFormat extends UFormat {
* @throws IllegalArgumentException if an argument in
* <code>arguments</code> is not of the type
* expected by the format element(s) that use it
* @throws IllegalArgumentException if <code>arguments<code> is
* @throws IllegalArgumentException if <code>arguments</code> is
* an array of Object and this format uses named arguments
* @stable ICU 3.0
*/

View File

@ -63,13 +63,14 @@ import com.ibm.icu.util.ICUCloneNotSupportedException;
* <li>Literal output text is not represented directly by "parts" but accessed
* between parts of a message, from one part's getLimit() to the next part's getIndex().
* <li><code>ARG_START.CHOICE</code> stands for an ARG_START Part with ArgType CHOICE.
* <li>In the choiceStyle, the ARG_SELECTOR has the '<', the '#' or
* <li>In the choiceStyle, the ARG_SELECTOR has the '&lt;', the '#' or
* the less-than-or-equal-to sign (U+2264).
* <li>In the pluralStyle, the first, optional numeric Part has the "offset:" value.
* The optional numeric Part between each (ARG_SELECTOR, message) pair
* is the value of an explicit-number selector like "=2",
* otherwise the selector is a non-numeric identifier.
* <li>The REPLACE_NUMBER Part can occur only in an immediate sub-message of the pluralStyle.
* </ul>
* <p>
* This class is not intended for public subclassing.
*
@ -87,7 +88,7 @@ public final class MessagePattern implements Cloneable, Freezable<MessagePattern
* <p>
* The following table shows examples of desired MessageFormat.format() output
* with the pattern strings that yield that output.
* <p>
*
* <table>
* <tr>
* <th>Desired output</th>
@ -528,7 +529,7 @@ public final class MessagePattern implements Cloneable, Freezable<MessagePattern
* Returns the index of the ARG|MSG_LIMIT part corresponding to the ARG|MSG_START at start.
* @param start The index of some Part data (0..countParts()-1);
* this Part should be of Type ARG_START or MSG_START.
* @return The first i>start where getPart(i).getType()==ARG|MSG_LIMIT at the same nesting level,
* @return The first i&gt;start where getPart(i).getType()==ARG|MSG_LIMIT at the same nesting level,
* or start itself if getPartType(msgStart)!=ARG|MSG_START.
* @throws IndexOutOfBoundsException if start is outside the (0..countParts()-1) range
* @stable ICU 4.8

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2000-2015, International Business Machines Corporation and
* Copyright (C) 2000-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -523,7 +523,7 @@ public final class Normalizer implements Cloneable {
* The most significant bits, however, are shifted down and passed on
* to the normalization implementation.
* (That is, from compare(..., options, ...),
* options>>COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
* options&gt;&gt;COMPARE_NORM_OPTIONS_SHIFT will be passed on to the
* internal normalization functions.)
*
* @see #compare
@ -1134,7 +1134,7 @@ public final class Normalizer implements Cloneable {
* If set, then the following case folding options are used.
*
*
* @return <0 or 0 or >0 as usual for string comparisons
* @return &lt;0 or 0 or &gt;0 as usual for string comparisons
*
* @see #normalize
* @see #FCD
@ -1195,7 +1195,7 @@ public final class Normalizer implements Cloneable {
* instead of case-sensitively.
* If set, then the following case folding options are used.
*
* @return <0 or 0 or >0 as usual for string comparisons
* @return &lt;0 or 0 or &gt;0 as usual for string comparisons
*
* @see #normalize
* @see #FCD
@ -1232,7 +1232,7 @@ public final class Normalizer implements Cloneable {
* instead of case-sensitively.
* If set, then the following case folding options are used.
*
* @return <0 or 0 or >0 as usual for string comparisons
* @return &lt;0 or 0 or &gt;0 as usual for string comparisons
*
* @see #normalize
* @see #FCD
@ -1726,11 +1726,11 @@ public final class Normalizer implements Cloneable {
* that is being performed , but they control whether
* certain optional portions of the operation are done.
* Currently the only available option is:
* <p>
*
* <ul>
* <li>{@link #UNICODE_3_2} - Use Normalization conforming to Unicode version 3.2.
* </ul>
* <p>
*
* @param option the option whose value is to be set.
* @param value the new setting for the option. Use <tt>true</tt> to
* turn the option on and <tt>false</tt> to turn it off.

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2009-2015, International Business Machines
* Copyright (C) 2009-2016, International Business Machines
* Corporation and others. All Rights Reserved.
*******************************************************************************
*/
@ -314,7 +314,7 @@ public abstract class Normalizer2 {
public String getRawDecomposition(int c) { return null; }
/**
* Performs pairwise composition of a & b and returns the composite if there is one.
* Performs pairwise composition of a &amp; b and returns the composite if there is one.
*
* <p>Returns a composite code point c only if c has a two-way mapping to a+b.
* In standard Unicode normalization, this means that

View File

@ -57,7 +57,7 @@ import com.ibm.icu.util.UResourceBundle;
* <blockquote>
* <pre>
* NumberFormat nf = NumberFormat.getInstance();
* for (int i = 0; i < a.length; ++i) {
* for (int i = 0; i &lt; a.length; ++i) {
* output.println(nf.format(myNumber[i]) + "; ");
* }
* </pre>
@ -116,8 +116,8 @@ import com.ibm.icu.util.UResourceBundle;
* the detailed description for each these control methods,
* <p>
* setParseIntegerOnly : only affects parsing, e.g.
* if true, "3456.78" -> 3456 (and leaves the parse position just after '6')
* if false, "3456.78" -> 3456.78 (and leaves the parse position just after '8')
* if true, "3456.78" -&gt; 3456 (and leaves the parse position just after '6')
* if false, "3456.78" -&gt; 3456.78 (and leaves the parse position just after '8')
* This is independent of formatting. If you want to not show a decimal point
* where there might be no digits after the decimal point, use
* setDecimalSeparatorAlwaysShown on DecimalFormat.
@ -148,12 +148,11 @@ import com.ibm.icu.util.UResourceBundle;
* numbers: "(12)" for -12.
* </ol>
*
* <h4>Synchronization</h4>
* <h3>Synchronization</h3>
* <p>
* Number formats are generally not synchronized. It is recommended to create
* separate format instances for each thread. If multiple threads access a format
* concurrently, it must be synchronized externally.
* <p>
*
* <h4>DecimalFormat</h4>
* <p>DecimalFormat is the concrete implementation of NumberFormat, and the
@ -455,7 +454,7 @@ public abstract class NumberFormat extends UFormat {
*
* @param text the text to parse
* @param pos input-output position; on input, the position within
* text to match; must have 0 <= pos.getIndex() < text.length();
* text to match; must have 0 &lt;= pos.getIndex() &lt; text.length();
* on output, the position after the last matched character. If
* the parse fails, the position in unchanged upon output.
* @return a CurrencyAmount, or null upon failure
@ -1122,7 +1121,7 @@ public abstract class NumberFormat extends UFormat {
/**
* Sets the maximum number of digits allowed in the integer portion of a
* number. This must be >= minimumIntegerDigits. If the
* number. This must be &gt;= minimumIntegerDigits. If the
* new value for maximumIntegerDigits is less than the current value
* of minimumIntegerDigits, then minimumIntegerDigits will also be set to
* the new value.
@ -1154,7 +1153,7 @@ public abstract class NumberFormat extends UFormat {
/**
* Sets the minimum number of digits allowed in the integer portion of a
* number. This must be <= maximumIntegerDigits. If the
* number. This must be &lt;= maximumIntegerDigits. If the
* new value for minimumIntegerDigits is more than the current value
* of maximumIntegerDigits, then maximumIntegerDigits will also be set to
* the new value.
@ -1186,7 +1185,7 @@ public abstract class NumberFormat extends UFormat {
/**
* Sets the maximum number of digits allowed in the fraction portion of a
* number. This must be >= minimumFractionDigits. If the
* number. This must be &gt;= minimumFractionDigits. If the
* new value for maximumFractionDigits is less than the current value
* of minimumFractionDigits, then minimumFractionDigits will also be set to
* the new value.
@ -1218,7 +1217,7 @@ public abstract class NumberFormat extends UFormat {
/**
* Sets the minimum number of digits allowed in the fraction portion of a
* number. This must be <= maximumFractionDigits. If the
* number. This must be &lt;= maximumFractionDigits. If the
* new value for minimumFractionDigits exceeds the current value
* of maximumFractionDigits, then maximumFractionDigits will also be set to
* the new value.

View File

@ -21,15 +21,14 @@ import com.ibm.icu.util.ULocale;
import com.ibm.icu.util.ULocale.Category;
/**
* <p>
* <code>PluralFormat</code> supports the creation of internationalized
* messages with plural inflection. It is based on <i>plural
* selection</i>, i.e. the caller specifies messages for each
* plural case that can appear in the user's language and the
* <code>PluralFormat</code> selects the appropriate message based on
* the number.
* </p>
* <h4>The Problem of Plural Forms in Internationalized Messages</h4>
*
* <h3>The Problem of Plural Forms in Internationalized Messages</h3>
* <p>
* Different languages have different ways to inflect
* plurals. Creating internationalized messages that include plural
@ -42,7 +41,7 @@ import com.ibm.icu.util.ULocale.Category;
* applies to infinitely many intervals (e.g., the paucal case applies to
* numbers ending with 2, 3, or 4 except those ending with 12, 13, or
* 14). Thus <code>ChoiceFormat</code> is not adequate.
* </p><p>
* <p>
* <code>PluralFormat</code> deals with this by breaking the problem
* into two parts:
* <ul>
@ -58,12 +57,12 @@ import com.ibm.icu.util.ULocale.Category;
* rules, see the CLDR <i>Language Plural Rules</i> page at
* http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html
* </ul>
* </p>
*
* <h4>Usage of <code>PluralFormat</code></h4>
* <p>Note: Typically, plural formatting is done via <code>MessageFormat</code>
* with a <code>plural</code> argument type,
* rather than using a stand-alone <code>PluralFormat</code>.
* </p><p>
* <p>
* This discussion assumes that you use <code>PluralFormat</code> with
* a predefined set of plural rules. You can create one using one of
* the constructors that takes a <code>ULocale</code> object. To
@ -72,7 +71,7 @@ import com.ibm.icu.util.ULocale.Category;
* <code>applyPattern()</code> method. The <code>format()</code>
* method takes a number object and selects the message of the
* matching plural case. This message will be returned.
* </p>
*
* <h5>Patterns and Their Interpretation</h5>
* <p>
* The pattern text defines the message output for each plural case of the
@ -88,21 +87,20 @@ import com.ibm.icu.util.ULocale.Category;
* Pattern_White_Space between syntax elements is ignored, except
* between the {curly braces} and their sub-message,
* and between the '=' and the number of an explicitValue.
*
* </p><p>
* <p>
* There are 6 predefined case keywords in CLDR/ICU - 'zero', 'one', 'two', 'few', 'many' and
* 'other'. You always have to define a message text for the default plural case
* "<code>other</code>" which is contained in every rule set.
* If you do not specify a message text for a particular plural case, the
* message text of the plural case "<code>other</code>" gets assigned to this
* plural case.
* </p><p>
* <p>
* When formatting, the input number is first matched against the explicitValue clauses.
* If there is no exact-number match, then a keyword is selected by calling
* the <code>PluralRules</code> with the input number <em>minus the offset</em>.
* (The offset defaults to 0 if it is omitted from the pattern string.)
* If there is no clause with that keyword, then the "other" clauses is returned.
* </p><p>
* <p>
* An unquoted pound sign (<code>#</code>) in the selected sub-message
* itself (i.e., outside of arguments nested in the sub-message)
* is replaced by the input number minus the offset.
@ -113,8 +111,8 @@ import com.ibm.icu.util.ULocale.Category;
* <strong>Note:</strong> That argument is formatting without subtracting the offset!
* If you need a custom format and have a non-zero offset, then you need to pass the
* number-minus-offset value as a separate parameter.
* </p>
* For a usage example, see the {@link MessageFormat} class documentation.
*
* <p>For a usage example, see the {@link MessageFormat} class documentation.
*
* <h4>Defining Custom Plural Rules</h4>
* <p>If you need to use <code>PluralFormat</code> with custom rules, you can
@ -122,10 +120,9 @@ import com.ibm.icu.util.ULocale.Category;
* <code>PluralFormat</code>'s constructor. If you also specify a locale in this
* constructor, this locale will be used to format the number in the message
* texts.
* </p><p>
* <p>
* For more information about <code>PluralRules</code>, see
* {@link PluralRules}.
* </p>
*
* @author tschumann (Tim Schumann)
* @stable ICU 3.8

View File

@ -248,7 +248,7 @@ public class PluralRules implements Serializable {
/**
* Returns the 'functionally equivalent' locale with respect to plural rules. Calling PluralRules.forLocale with
* the functionally equivalent locale, and with the provided locale, returns rules that behave the same. <br/>
* the functionally equivalent locale, and with the provided locale, returns rules that behave the same. <br>
* All locales with the same functionally equivalent locale have plural rules that behave the same. This is not
* exaustive; there may be other locales whose plural rules behave the same that do not have the same equivalent
* locale.
@ -256,7 +256,7 @@ public class PluralRules implements Serializable {
* @param locale
* the locale to check
* @param isAvailable
* if not null and of length > 0, this will hold 'true' at index 0 if locale is directly defined
* if not null and of length &gt; 0, this will hold 'true' at index 0 if locale is directly defined
* (without fallback) as having plural rules
* @return the functionally-equivalent locale
* @internal
@ -2141,14 +2141,14 @@ public class PluralRules implements Serializable {
* Returns the 'functionally equivalent' locale with respect to
* plural rules. Calling PluralRules.forLocale with the functionally equivalent
* locale, and with the provided locale, returns rules that behave the same.
* <br/>
* <br>
* All locales with the same functionally equivalent locale have
* plural rules that behave the same. This is not exaustive;
* there may be other locales whose plural rules behave the same
* that do not have the same equivalent locale.
*
* @param locale the locale to check
* @param isAvailable if not null and of length > 0, this will hold 'true' at
* @param isAvailable if not null and of length &gt; 0, this will hold 'true' at
* index 0 if locale is directly defined (without fallback) as having plural rules
* @return the functionally-equivalent locale
* @draft ICU 4.2 (retain)

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2004, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -96,9 +96,9 @@ public interface Replaceable {
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
*
* @param srcStart the beginning index to copy, inclusive; <code>0
* <= start <= limit</code>.
* &lt;= start &lt;= limit</code>.
* @param srcLimit the ending index to copy, exclusive;
* <code>start <= limit <= length()</code>.
* <code>start &lt;= limit &lt;= length()</code>.
* @param dst the destination array.
* @param dstStart the start offset in the destination array.
* @stable ICU 2.0
@ -115,10 +115,10 @@ public interface Replaceable {
* check for initial and trailing identical characters, and make a
* smaller replacement if possible. This will preserve as much
* metadata as possible.
* @param start the beginning index, inclusive; <code>0 <= start
* <= limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit
* <= length()</code>.
* @param start the beginning index, inclusive; <code>0 &lt;= start
* &lt;= limit</code>.
* @param limit the ending index, exclusive; <code>start &lt;= limit
* &lt;= length()</code>.
* @param text the text to replace characters <code>start</code>
* to <code>limit - 1</code>
* @stable ICU 2.0
@ -135,14 +135,14 @@ public interface Replaceable {
* check for initial and trailing identical characters, and make a
* smaller replacement if possible. This will preserve as much
* metadata as possible.
* @param start the beginning index, inclusive; <code>0 <= start
* <= limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit
* <= length()</code>.
* @param start the beginning index, inclusive; <code>0 &lt;= start
* &lt;= limit</code>.
* @param limit the ending index, exclusive; <code>start &lt;= limit
* &lt;= length()</code>.
* @param chars the text to replace characters <code>start</code>
* to <code>limit - 1</code>
* @param charsStart the beginning index into <code>chars</code>,
* inclusive; <code>0 <= start <= limit</code>.
* inclusive; <code>0 &lt;= start &lt;= limit</code>.
* @param charsLen the number of characters of <code>chars</code>.
* @stable ICU 2.0
*/
@ -162,19 +162,19 @@ public interface Replaceable {
* getChars(start, limit, text, 0);
* replace(dest, dest, text, 0, limit - start);</pre>
*
* @param start the beginning index, inclusive; <code>0 <= start <=
* @param start the beginning index, inclusive; <code>0 &lt;= start &lt;=
* limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit <=
* @param limit the ending index, exclusive; <code>start &lt;= limit &lt;=
* length()</code>.
* @param dest the destination index. The characters from
* <code>start..limit-1</code> will be copied to <code>dest</code>.
* Implementations of this method may assume that <code>dest <= start ||
* dest >= limit</code>.
* Implementations of this method may assume that <code>dest &lt;= start ||
* dest &gt;= limit</code>.
* @stable ICU 2.0
*/
void copy(int start, int limit, int dest);
/**
/**R
* Returns true if this object contains metadata. If a
* Replaceable object has metadata, calls to the Replaceable API
* must be made so as to preserve metadata. If it does not, calls

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2009, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -116,9 +116,9 @@ public class ReplaceableString implements Replaceable {
* <code>dstStart + (srcLimit-srcStart) - 1</code>.
*
* @param srcStart the beginning index to copy, inclusive; <code>0
* <= start <= limit</code>.
* &lt;= start &lt;= limit</code>.
* @param srcLimit the ending index to copy, exclusive;
* <code>start <= limit <= length()</code>.
* <code>start &lt;= limit &lt;= length()</code>.
* @param dst the destination array.
* @param dstStart the start offset in the destination array.
* @stable ICU 2.0
@ -132,10 +132,10 @@ public class ReplaceableString implements Replaceable {
/**
* Replace zero or more characters with new characters.
* <code>Replaceable</code> API.
* @param start the beginning index, inclusive; <code>0 <= start
* <= limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit
* <= length()</code>.
* @param start the beginning index, inclusive; <code>0 &lt;= start
* &lt;= limit</code>.
* @param limit the ending index, exclusive; <code>start &lt;= limit
* &lt;= length()</code>.
* @param text new text to replace characters <code>start</code> to
* <code>limit - 1</code>
* @stable ICU 2.0
@ -146,14 +146,14 @@ public class ReplaceableString implements Replaceable {
/**
* Replace a substring of this object with the given text.
* @param start the beginning index, inclusive; <code>0 <= start
* <= limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit
* <= length()</code>.
* @param start the beginning index, inclusive; <code>0 &lt;= start
* &lt;= limit</code>.
* @param limit the ending index, exclusive; <code>start &lt;= limit
* &lt;= length()</code>.
* @param chars the text to replace characters <code>start</code>
* to <code>limit - 1</code>
* @param charsStart the beginning index into <code>chars</code>,
* inclusive; <code>0 <= start <= limit</code>.
* inclusive; <code>0 &lt;= start &lt;= limit</code>.
* @param charsLen the number of characters of <code>chars</code>.
* @stable ICU 2.0
*/
@ -168,14 +168,14 @@ public class ReplaceableString implements Replaceable {
* information. This method is used to duplicate or reorder substrings.
* The destination index must not overlap the source range.
*
* @param start the beginning index, inclusive; <code>0 <= start <=
* @param start the beginning index, inclusive; <code>0 &lt;= start &lt;=
* limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit <=
* @param limit the ending index, exclusive; <code>start &lt;= limit &lt;=
* length()</code>.
* @param dest the destination index. The characters from
* <code>start..limit-1</code> will be copied to <code>dest</code>.
* Implementations of this method may assume that <code>dest <= start ||
* dest >= limit</code>.
* Implementations of this method may assume that <code>dest &lt;= start ||
* dest &gt;= limit</code>.
* @stable ICU 2.0
*/
public void copy(int start, int limit, int dest) {

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2005-2015 International Business Machines Corporation and
* Copyright (C) 2005-2016 International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -885,7 +885,7 @@ public class RuleBasedBreakIterator extends BreakIterator {
}
/**
* Throw IllegalArgumentException unless begin <= offset < end.
* Throw IllegalArgumentException unless begin &lt;= offset &lt; end.
* @stable ICU 2.0
*/
protected static final void checkOffset(int offset, CharacterIterator text) {
@ -976,7 +976,7 @@ public class RuleBasedBreakIterator extends BreakIterator {
* that contain alphabetic letters, "words" that appear to be numbers,
* punctuation and spaces, words containing ideographic characters, and
* more. Call <code>getRuleStatus</code> after obtaining a boundary
* position from <code>next()<code>, <code>previous()</code>, or
* position from <code>next()</code>, <code>previous()</code>, or
* any other break iterator functions that returns a boundary position.
* <p>
* @return the status from the break rule that determined the most recently

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -120,34 +120,34 @@ import com.ibm.icu.util.UResourceBundleIterator;
*
* <table border="0" width="630">
* <tr>
* <td width="21"></td>
* <td width="257" valign="top"><strong>&lt;&lt; thousand &gt;&gt;</strong></td>
* <td width="340" valign="top">[the rule whose base value is 1,000 is applicable to 25,340]</td>
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;"><strong>&lt;&lt; thousand &gt;&gt;</strong></td>
* <td style="width: 340; vertical-align: top;">[the rule whose base value is 1,000 is applicable to 25,340]</td>
* </tr>
* <tr>
* <td width="21"></td>
* <td width="257" valign="top"><strong>twenty-&gt;&gt;</strong> thousand &gt;&gt;</td>
* <td width="340" valign="top">[25,340 over 1,000 is 25. The rule for 20 applies.]</td>
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;"><strong>twenty-&gt;&gt;</strong> thousand &gt;&gt;</td>
* <td style="width: 340; vertical-align: top;">[25,340 over 1,000 is 25. The rule for 20 applies.]</td>
* </tr>
* <tr>
* <td width="21"></td>
* <td width="257" valign="top">twenty-<strong>five</strong> thousand &gt;&gt;</td>
* <td width="340" valign="top">[25 mod 10 is 5. The rule for 5 is &quot;five.&quot;</td>
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;">twenty-<strong>five</strong> thousand &gt;&gt;</td>
* <td style="width: 340; vertical-align: top;">[25 mod 10 is 5. The rule for 5 is &quot;five.&quot;</td>
* </tr>
* <tr>
* <td width="21"></td>
* <td width="257" valign="top">twenty-five thousand <strong>&lt;&lt; hundred &gt;&gt;</strong></td>
* <td width="340" valign="top">[25,340 mod 1,000 is 340. The rule for 100 applies.]</td>
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;">twenty-five thousand <strong>&lt;&lt; hundred &gt;&gt;</strong></td>
* <td style="width: 340; vertical-align: top;">[25,340 mod 1,000 is 340. The rule for 100 applies.]</td>
* </tr>
* <tr>
* <td width="21"></td>
* <td width="257" valign="top">twenty-five thousand <strong>three</strong> hundred &gt;&gt;</td>
* <td width="340" valign="top">[340 over 100 is 3. The rule for 3 is &quot;three.&quot;]</td>
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;">twenty-five thousand <strong>three</strong> hundred &gt;&gt;</td>
* <td style="width: 340; vertical-align: top;">[340 over 100 is 3. The rule for 3 is &quot;three.&quot;]</td>
* </tr>
* <tr>
* <td width="21"></td>
* <td width="257" valign="top">twenty-five thousand three hundred <strong>forty</strong></td>
* <td width="340" valign="top">[340 mod 100 is 40. The rule for 40 applies. Since 40 divides
* <td style="width: 21;"></td>
* <td style="width: 257; vertical-align: top;">twenty-five thousand three hundred <strong>forty</strong></td>
* <td style="width: 340; vertical-align: top;">[340 mod 100 is 40. The rule for 40 applies. Since 40 divides
* evenly by 10, the hyphen and substitution in the brackets are omitted.]</td>
* </tr>
* </table>
@ -209,22 +209,22 @@ import com.ibm.icu.util.UResourceBundleIterator;
*
* <table border="0" width="100%">
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top"><em>bv</em>:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;"><em>bv</em>:</td>
* <td valign="top"><em>bv</em> specifies the rule's base value. <em>bv</em> is a decimal
* number expressed using ASCII digits. <em>bv</em> may contain spaces, period, and commas,
* which are ignored. The rule's divisor is the highest power of 10 less than or equal to
* the base value.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top"><em>bv</em>/<em>rad</em>:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;"><em>bv</em>/<em>rad</em>:</td>
* <td valign="top"><em>bv</em> specifies the rule's base value. The rule's divisor is the
* highest power of <em>rad</em> less than or equal to the base value.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top"><em>bv</em>&gt;:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;"><em>bv</em>&gt;:</td>
* <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
* let the radix be 10, and the exponent be the highest exponent of the radix that yields a
* result less than or equal to the base value. Every &gt; character after the base value
@ -232,8 +232,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
* raised to the power of the exponent; otherwise, the divisor is 1.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top"><em>bv</em>/<em>rad</em>&gt;:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;"><em>bv</em>/<em>rad</em>&gt;:</td>
* <td valign="top"><em>bv</em> specifies the rule's base value. To calculate the divisor,
* let the radix be <em>rad</em>, and the exponent be the highest exponent of the radix that
* yields a result less than or equal to the base value. Every &gt; character after the radix
@ -241,13 +241,13 @@ import com.ibm.icu.util.UResourceBundleIterator;
* raised to the power of the exponent; otherwise, the divisor is 1.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">-x:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">-x:</td>
* <td valign="top">The rule is a negative-number rule.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">x.x:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">x.x:</td>
* <td valign="top">The rule is an <em>improper fraction rule</em>. If the full stop in
* the middle of the rule name is replaced with the decimal point
* that is used in the language or DecimalFormatSymbols, then that rule will
@ -258,8 +258,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
* the punctuation of either the full stop or comma.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">0.x:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">0.x:</td>
* <td valign="top">The rule is a <em>proper fraction rule</em>. If the full stop in
* the middle of the rule name is replaced with the decimal point
* that is used in the language or DecimalFormatSymbols, then that rule will
@ -270,8 +270,8 @@ import com.ibm.icu.util.UResourceBundleIterator;
* the punctuation of either the full stop or comma</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">x.0:</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">x.0:</td>
* <td valign="top">The rule is a <em>master rule</em>. If the full stop in
* the middle of the rule name is replaced with the decimal point
* that is used in the language or DecimalFormatSymbols, then that rule will
@ -282,19 +282,19 @@ import com.ibm.icu.util.UResourceBundleIterator;
* the punctuation of either the full stop or comma</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">Inf:</td>
* <td valign="top">The rule for infinity.</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">Inf:</td>
* <td style="vertical-align: top;">The rule for infinity.</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top">NaN:</td>
* <td valign="top">The rule for an IEEE 754 NaN (not a number).</td>
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;">NaN:</td>
* <td style="vertical-align: top;">The rule for an IEEE 754 NaN (not a number).</td>
* </tr>
* <tr>
* <td width="5%" valign="top"></td>
* <td width="8%" valign="top"><em>nothing</em></td>
* <td valign="top">If the rule's rule descriptor is left out, the base value is one plus the
* <td style="width: 5%; vertical-align: top;"></td>
* <td style="width: 8%; vertical-align: top;"><em>nothing</em></td>
* <td style="vertical-align: top;">If the rule's rule descriptor is left out, the base value is one plus the
* preceding rule's base value (or zero if this is the first rule in the list) in a normal
* rule set.&nbsp; In a fraction rule set, the base value is the same as the preceding rule's
* base value.</td>
@ -360,124 +360,124 @@ import com.ibm.icu.util.UResourceBundleIterator;
*
* <table border="0" width="100%">
* <tr>
* <td width="37"></td>
* <td width="23">&gt;&gt;</td>
* <td width="165" valign="top">in normal rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;">&gt;&gt;</td>
* <td style="width: 165; vertical-align: top;">in normal rule</td>
* <td>Divide the number by the rule's divisor and format the remainder</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in negative-number rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
* <td>Find the absolute value of the number and format the result</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in fraction or master rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
* <td>Isolate the number's fractional part and format it.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in rule in fraction rule set</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
* <td>Not allowed.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23">&gt;&gt;&gt;</td>
* <td width="165" valign="top">in normal rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;">&gt;&gt;&gt;</td>
* <td style="width: 165; vertical-align: top;">in normal rule</td>
* <td>Divide the number by the rule's divisor and format the remainder,
* but bypass the normal rule-selection process and just use the
* rule that precedes this one in this rule list.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in all other rules</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in all other rules</td>
* <td>Not allowed.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23">&lt;&lt;</td>
* <td width="165" valign="top">in normal rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;">&lt;&lt;</td>
* <td style="width: 165; vertical-align: top;">in normal rule</td>
* <td>Divide the number by the rule's divisor and format the quotient</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in negative-number rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
* <td>Not allowed.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in fraction or master rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in fraction or master rule</td>
* <td>Isolate the number's integral part and format it.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in rule in fraction rule set</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
* <td>Multiply the number by the rule's base value and format the result.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23">==</td>
* <td width="165" valign="top">in all rule sets</td>
* <td style="width: 37;"></td>
* <td style="width: 23;">==</td>
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
* <td>Format the number unchanged</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23">[]</td>
* <td width="165" valign="top">in normal rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;">[]</td>
* <td style="width: 165; vertical-align: top;">in normal rule</td>
* <td>Omit the optional text if the number is an even multiple of the rule's divisor</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in negative-number rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in negative-number rule</td>
* <td>Not allowed.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in improper-fraction rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in improper-fraction rule</td>
* <td>Omit the optional text if the number is between 0 and 1 (same as specifying both an
* x.x rule and a 0.x rule)</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in master rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in master rule</td>
* <td>Omit the optional text if the number is an integer (same as specifying both an x.x
* rule and an x.0 rule)</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in proper-fraction rule</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in proper-fraction rule</td>
* <td>Not allowed.</td>
* </tr>
* <tr>
* <td width="37"></td>
* <td width="23"></td>
* <td width="165" valign="top">in rule in fraction rule set</td>
* <td style="width: 37;"></td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in rule in fraction rule set</td>
* <td>Omit the optional text if multiplying the number by the rule's base value yields 1.</td>
* </tr>
* <tr>
* <td width="37">$(cardinal,<i>plural syntax</i>)$</td>
* <td width="23"></td>
* <td width="165" valign="top">in all rule sets</td>
* <td style="width: 37;">$(cardinal,<i>plural syntax</i>)$</td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
* <td>This provides the ability to choose a word based on the number divided by the radix to the power of the
* exponent of the base value for the specified locale, which is normally equivalent to the &lt;&lt; value.
* This uses the cardinal plural rules from PluralFormat. All strings used in the plural format are treated
* as the same base value for parsing.</td>
* </tr>
* <tr>
* <td width="37">$(ordinal,<i>plural syntax</i>)$</td>
* <td width="23"></td>
* <td width="165" valign="top">in all rule sets</td>
* <td style="width: 37;">$(ordinal,<i>plural syntax</i>)$</td>
* <td style="width: 23;"></td>
* <td style="width: 165; vertical-align: top;">in all rule sets</td>
* <td>This provides the ability to choose a word based on the number divided by the radix to the power of the
* exponent of the base value for the specified locale, which is normally equivalent to the &lt;&lt; value.
* This uses the ordinal plural rules from PluralFormat. All strings used in the plural format are treated
@ -490,20 +490,20 @@ import com.ibm.icu.util.UResourceBundleIterator;
*
* <table border="0" width="100%">
* <tr>
* <td width="42"></td>
* <td width="166" valign="top">a rule set name</td>
* <td style="width: 42;"></td>
* <td style="width: 166; vertical-align: top;">a rule set name</td>
* <td>Perform the mathematical operation on the number, and format the result using the
* named rule set.</td>
* </tr>
* <tr>
* <td width="42"></td>
* <td width="166" valign="top">a DecimalFormat pattern</td>
* <td style="width: 42;"></td>
* <td style="width: 166; vertical-align: top;">a DecimalFormat pattern</td>
* <td>Perform the mathematical operation on the number, and format the result using a
* DecimalFormat with the specified pattern.&nbsp; The pattern must begin with 0 or #.</td>
* </tr>
* <tr>
* <td width="42"></td>
* <td width="166" valign="top">nothing</td>
* <td style="width: 42;"></td>
* <td style="width: 166; vertical-align: top;">nothing</td>
* <td>Perform the mathematical operation on the number, and format the result using the rule
* set containing the current rule, except:<ul>
* <li>You can't have an empty substitution descriptor with a == substitution.</li>
@ -1220,7 +1220,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
}
/**
* <strong><font face=helvetica color=red>NEW</font></strong>
* <strong style="font-family: helvetica; color: red;">NEW</strong>
* Implement com.ibm.icu.text.NumberFormat:
* Format a BigInteger.
* @stable ICU 2.0
@ -1232,7 +1232,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
}
/**
* <strong><font face=helvetica color=red>NEW</font></strong>
* <strong style="font-family: helvetica; color: red;">NEW</strong>
* Implement com.ibm.icu.text.NumberFormat:
* Format a BigDecimal.
* @stable ICU 2.0
@ -1244,7 +1244,7 @@ public class RuleBasedNumberFormat extends NumberFormat {
}
/**
* <strong><font face=helvetica color=red>NEW</font></strong>
* <strong style="font-family: helvetica; color: red;">NEW</strong>
* Implement com.ibm.icu.text.NumberFormat:
* Format a BigDecimal.
* @stable ICU 2.0

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2014, International Business Machines Corporation and
* Copyright (C) 2014-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -23,9 +23,10 @@ import com.ibm.icu.util.ULocale;
* <pre>
* ULocale en = new ULocale("en");
* ScientificNumberFormatter fmt = ScientificNumberFormatter.getMarkupInstance(
* en, "<sup>", "</sup>");
* en, "&lt;sup&gt;", "&lt;/sup&gt;");
* </pre>
* <pre>
* // Output: "1.23456×10<sup>-78</sup>"
* // Output: "1.23456×10&lt;sup&gt;-78&lt;/sup&gt;"
* System.out.println(fmt.format(1.23456e-78));
* </pre>
*

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2004-2011, International Business Machines Corporation and *
* Copyright (C) 2004-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
* Copyright (C) 2009 , Yahoo! Inc. *
*******************************************************************************
@ -21,19 +21,19 @@ import com.ibm.icu.impl.PatternProps;
* how to map keywords to phrases and provides a default phrase. The
* object provided to the format method is a string that's matched
* against the keywords. If there is a match, the corresponding phrase
* is selected; otherwise, the default phrase is used.</p>
* is selected; otherwise, the default phrase is used.
*
* <h4>Using <code>SelectFormat</code> for Gender Agreement</h4>
* <h3>Using <code>SelectFormat</code> for Gender Agreement</h3>
*
* <p>Note: Typically, select formatting is done via <code>MessageFormat</code>
* with a <code>select</code> argument type,
* rather than using a stand-alone <code>SelectFormat</code>.</p>
* rather than using a stand-alone <code>SelectFormat</code>.
*
* <p>The main use case for the select format is gender based inflection.
* When names or nouns are inserted into sentences, their gender can affect pronouns,
* verb forms, articles, and adjectives. Special care needs to be
* taken for the case where the gender cannot be determined.
* The impact varies between languages:</p>
* The impact varies between languages:
*
* <ul>
* <li>English has three genders, and unknown gender is handled as a special
@ -42,16 +42,16 @@ import com.ibm.icu.impl.PatternProps;
* The gender only affects pronouns: "he", "she", "it", "they".
*
* <li>German differs from English in that the gender of nouns is rather
* arbitrary, even for nouns referring to people ("M&#u00E4;dchen", girl, is neutral).
* arbitrary, even for nouns referring to people ("M&#xE4;dchen", girl, is neutral).
* The gender affects pronouns ("er", "sie", "es"), articles ("der", "die",
* "das"), and adjective forms ("guter Mann", "gute Frau", "gutes M&#u00E4;dchen").
* "das"), and adjective forms ("guter Mann", "gute Frau", "gutes M&#xE4;dchen").
*
* <li>French has only two genders; as in German the gender of nouns
* is rather arbitrary - for sun and moon, the genders
* are the opposite of those in German. The gender affects
* pronouns ("il", "elle"), articles ("le", "la"),
* adjective forms ("bon", "bonne"), and sometimes
* verb forms ("all&#u00E9;", "all&#u00E9e;").
* verb forms ("all&#xE9;", "all&#xE9;e").
*
* <li>Polish distinguishes five genders (or noun classes),
* human masculine, animate non-human masculine, inanimate masculine,
@ -60,16 +60,16 @@ import com.ibm.icu.impl.PatternProps;
*
* <p>Some other languages have noun classes that are not related to gender,
* but similar in grammatical use.
* Some African languages have around 20 noun classes.</p>
* Some African languages have around 20 noun classes.
*
* <p><b>Note:</b>For the gender of a <i>person</i> in a given sentence,
* we usually need to distinguish only between female, male and other/unknown.</p>
* we usually need to distinguish only between female, male and other/unknown.
*
* <p>To enable localizers to create sentence patterns that take their
* language's gender dependencies into consideration, software has to provide
* information about the gender associated with a noun or name to
* <code>MessageFormat</code>.
* Two main cases can be distinguished:</p>
* Two main cases can be distinguished:
*
* <ul>
* <li>For people, natural gender information should be maintained for each person.
@ -88,40 +88,40 @@ import com.ibm.icu.impl.PatternProps;
* would be provided: The name of the person as argument 0, the gender of
* the person as argument 1, and the name of the city as argument 2.
* The sentence pattern for English, where the gender of the person has
* no impact on this simple sentence, would not refer to argument 1 at all:</p>
* no impact on this simple sentence, would not refer to argument 1 at all:
*
* <pre>{0} went to {2}.</pre>
*
* <p><b>Note:</b> The entire sentence should be included (and partially repeated)
* inside each phrase. Otherwise translators would have to be trained on how to
* move bits of the sentence in and out of the select argument of a message.
* (The examples below do not follow this recommendation!)</p>
* (The examples below do not follow this recommendation!)
*
* <p>The sentence pattern for French, where the gender of the person affects
* the form of the participle, uses a select format based on argument 1:</p>
* the form of the participle, uses a select format based on argument 1:
*
* <pre>{0} est {1, select, female {all&#u00E9;e} other {all&#u00E9;}} &#u00E0; {2}.</pre>
* <pre>{0} est {1, select, female {all&#xE9;e} other {all&#xE9;}} &#xE0; {2}.</pre>
*
* <p>Patterns can be nested, so that it's possible to handle interactions of
* number and gender where necessary. For example, if the above sentence should
* allow for the names of several people to be inserted, the following sentence
* pattern can be used (with argument 0 the list of people's names,
* argument 1 the number of people, argument 2 their combined gender, and
* argument 3 the city name):</p>
* argument 3 the city name):
*
* <pre>{0} {1, plural,
* one {est {2, select, female {all&#u00E9;e} other {all&#u00E9;}}}
* other {sont {2, select, female {all&#u00E9;es} other {all&#u00E9;s}}}
* }&#u00E0; {3}.</pre>
* one {est {2, select, female {all&#xE9;e} other {all&#xE9;}}}
* other {sont {2, select, female {all&#xE9;es} other {all&#xE9;s}}}
* }&#xE0; {3}.</pre>
*
* <h4>Patterns and Their Interpretation</h4>
*
* <p>The <code>SelectFormat</code> pattern string defines the phrase output
* for each user-defined keyword.
* The pattern is a sequence of (keyword, message) pairs.
* A keyword is a "pattern identifier": [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+</p>
* A keyword is a "pattern identifier": [^[[:Pattern_Syntax:][:Pattern_White_Space:]]]+
*
* <p>Each message is a MessageFormat pattern string enclosed in {curly braces}.</p>
* <p>Each message is a MessageFormat pattern string enclosed in {curly braces}.
*
* <p>You always have to define a phrase for the default keyword
* <code>other</code>; this phrase is returned when the keyword
@ -129,21 +129,20 @@ import com.ibm.icu.impl.PatternProps;
* the <code>format</code> method matches no other keyword.
* If a pattern does not provide a phrase for <code>other</code>, the method
* it's provided to returns the error <code>U_DEFAULT_KEYWORD_MISSING</code>.
* <br/>
* <br>
* Pattern_White_Space between keywords and messages is ignored.
* Pattern_White_Space within a message is preserved and output.</p>
* Pattern_White_Space within a message is preserved and output.
*
* <p><pre>Example:
* <pre>Example:
* MessageFormat msgFmt = new MessageFormat("{0} est " +
* "{1, select, female {all&#u00E9;e} other {all&#u00E9;}} &#u00E0; Paris.",
* "{1, select, female {all&#xE9;e} other {all&#xE9;}} &#xE0; Paris.",
* new ULocale("fr"));
* Object args[] = {"Kirti","female"};
* System.out.println(msgFmt.format(args));
* </pre>
* <p>
* Produces the output:<br/>
* <code>Kirti est all&#u00E9;e &#u00E0; Paris.</code>
* </p>
* Produces the output:<br>
* <code>Kirti est all&#xE9;e &#xE0; Paris.</code>
*
* @stable ICU 4.4
*/

View File

@ -48,7 +48,7 @@ import com.ibm.icu.util.ULocale.Category;
*
* <p><code>SimpleDateFormat</code> is a concrete class for formatting and
* parsing dates in a locale-sensitive manner. It allows for formatting
* (date -> text), parsing (text -> date), and normalization.
* (date -&gt; text), parsing (text -&gt; date), and normalization.
*
* <p>
* <code>SimpleDateFormat</code> allows you to start by choosing
@ -102,7 +102,7 @@ import com.ibm.icu.util.ULocale.Category;
* <td style="text-align: center">1..n</td>
* <td>1996</td>
* <td>Year. Normally the length specifies the padding, but for two letters it also specifies the maximum
* length. Example:<div align="center">
* length. Example:<div style="text-align: center">
* <center>
* <table border="1" cellpadding="2" cellspacing="0">
* <tr>
@ -627,12 +627,12 @@ import com.ibm.icu.util.ULocale.Category;
* <pre>
* Format Pattern Result
* -------------- -------
* "yyyy.MM.dd G 'at' HH:mm:ss vvvv" ->> 1996.07.10 AD at 15:08:56 Pacific Time
* "EEE, MMM d, ''yy" ->> Wed, July 10, '96
* "h:mm a" ->> 12:08 PM
* "hh 'o''clock' a, zzzz" ->> 12 o'clock PM, Pacific Daylight Time
* "K:mm a, vvv" ->> 0:00 PM, PT
* "yyyyy.MMMMM.dd GGG hh:mm aaa" ->> 01996.July.10 AD 12:08 PM
* "yyyy.MM.dd G 'at' HH:mm:ss vvvv" -&gt;&gt; 1996.07.10 AD at 15:08:56 Pacific Time
* "EEE, MMM d, ''yy" -&gt;&gt; Wed, July 10, '96
* "h:mm a" -&gt;&gt; 12:08 PM
* "hh 'o''clock' a, zzzz" -&gt;&gt; 12 o'clock PM, Pacific Daylight Time
* "K:mm a, vvv" -&gt;&gt; 0:00 PM, PT
* "yyyyy.MMMMM.dd GGG hh:mm aaa" -&gt;&gt; 01996.July.10 AD 12:08 PM
* </pre>
* </blockquote>
* <strong>Code Sample:</strong>
@ -698,7 +698,7 @@ import com.ibm.icu.util.ULocale.Category;
* time zone. There is one common decimal format to handle all the numbers;
* the digit count is handled programmatically according to the pattern.
*
* <h4>Synchronization</h4>
* <h3>Synchronization</h3>
*
* Date formats are not synchronized. It is recommended to create separate
* format instances for each thread. If multiple threads access a format
@ -1290,7 +1290,7 @@ public class SimpleDateFormat extends DateFormat {
* Formats a date or time, which is the standard millis
* since January 1, 1970, 00:00:00 GMT.
* <p>Example: using the US locale:
* "yyyy.MM.dd G 'at' HH:mm:ss zzz" ->> 1996.07.10 AD at 15:08:56 PDT
* "yyyy.MM.dd G 'at' HH:mm:ss zzz" -&gt;&gt; 1996.07.10 AD at 15:08:56 PDT
* @param cal the calendar whose date-time value is to be formatted into a date-time string
* @param toAppendTo where the new date-time text is to be appended
* @param pos the formatting position. On input: an alignment field,

View File

@ -491,7 +491,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
/**
* Returns a frozen instance of <code>TimeZoneFormat</code> for the given
* {@link java.text.Locale}.
* {@link java.util.Locale}.
* <p><b>Note</b>: The instance returned by this method is frozen. If you want to
* customize a TimeZoneFormat, you must use {@link #cloneAsThawed()} to get a
* thawed copy first.
@ -718,7 +718,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
/**
* Sets the default parse options.
* <p>
* <b>Note:</b> By default, an instance of <code>TimeZoneFormat></code>
* <b>Note:</b> By default, an instance of <code>TimeZoneFormat</code>
* created by {#link {@link #getInstance(ULocale)} has no parse options set.
*
* @param options the default parse options.
@ -3120,7 +3120,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
* @serialField _locale ULocale The locale of this TimeZoneFormat object.
* @serialField _tznames TimeZoneNames The time zone name data.
* @serialField _gmtPattern String The pattern string for localized GMT format.
* @serialField _gmtOffsetPatterns Stirng[] The array of GMT offset patterns used by localized GMT format
* @serialField _gmtOffsetPatterns String[] The array of GMT offset patterns used by localized GMT format
* (positive hour-min, positive hour-min-sec, negative hour-min, negative hour-min-sec).
* @serialField _gmtOffsetDigits String[] The array of decimal digits used by localized GMT format
* (the size of array is 10).

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -285,7 +285,6 @@ public abstract class UCharacterIterator
* iterator obtained by calling <code>getLength()</code>).
* <b>Usage:</b>
*
* <code>
* <pre>
* UChacterIterator iter = new UCharacterIterator.getInstance(text);
* char[] buf = new char[iter.getLength()];
@ -303,14 +302,13 @@ public abstract class UCharacterIterator
* }
* }
* </pre>
* </code>
*
*
* @param fillIn an array of chars to fill with the underlying UTF-16 code
* units.
* @param offset the position within the array to start putting the data.
* @return the number of code units added to fillIn, as a convenience
* @exception IndexOutOfBoundsException exception if there is not enough
* room after offset in the array, or if offset < 0.
* room after offset in the array, or if offset &lt; 0.
* @stable ICU 2.4
*/
public abstract int getText(char[] fillIn, int offset);

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2004, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -27,13 +27,13 @@ package com.ibm.icu.text;
* Some processes may be designed to work with sequences of code units,
* or it may be known that all characters that are important to an
* algorithm can be represented with single code units.
* Other processes will need to use the code point access functions.</p>
* Other processes will need to use the code point access functions.
*
* <p>ForwardCharacterIterator provides next() to access
* a code unit and advance an internal position into the text object,
* similar to a <code>return text[position++]</code>.<br>
* It provides nextCodePoint() to access a code point and advance an internal
* position.</p>
* position.
*
* <p>nextCodePoint() assumes that the current position is that of
* the beginning of a code point, i.e., of its first code unit.
@ -41,7 +41,7 @@ package com.ibm.icu.text;
* In general, access to code units and code points in the same
* iteration loop should not be mixed. In UTF-16, if the current position
* is on a second code unit (Low Surrogate), then only that code unit
* is returned even by nextCodePoint().</p>
* is returned even by nextCodePoint().
*
* Usage:
* <code>
@ -52,7 +52,6 @@ package com.ibm.icu.text;
* }
* }
* </code>
* </p>
* @stable ICU 2.4
*
*/
@ -79,7 +78,7 @@ public interface UForwardCharacterIterator {
* Returns the code point at index, and increments to the next code
* point (post-increment semantics). If index does not point to a
* valid surrogate pair, the behavior is the same as
* <code>next()<code>. Otherwise the iterator is incremented past
* <code>next()</code>. Otherwise the iterator is incremented past
* the surrogate pair, and the code point represented by the pair
* is returned.
* @return the next codepoint in text, or DONE if the index is at

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -82,10 +82,9 @@ public final class UTF16 {
// public variables ---------------------------------------------------
/**
* Value returned in <code><a href="#bounds(java.lang.String, int)">
* bounds()</a></code>.
* Value returned in {@link #bounds(String, int) bounds()}.
* These values are chosen specifically so that it actually represents the position of the
* character [offset16 - (value >> 2), offset16 + (value & 3)]
* character [offset16 - (value &gt;&gt; 2), offset16 + (value &amp; 3)]
*
* @stable ICU 2.1
*/
@ -490,7 +489,7 @@ public final class UTF16 {
* bounds are [offset16 - 1, offset16 + 1]
* </ul>
* For bit-twiddlers, the return values for these are chosen so that the boundaries
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
* can be gotten by: [offset16 - (value &gt;&gt; 2), offset16 + (value &amp; 3)].
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
* @stable ICU 2.1
*/
@ -526,7 +525,7 @@ public final class UTF16 {
* bounds are [offset16 - 1, offset16 + 1]
* </ul>
* For bit-twiddlers, the return values for these are chosen so that the boundaries
* can be gotten by: [offset16 - (value >> 2), offset16 + (value & 3)].
* can be gotten by: [offset16 - (value &gt;&gt; 2), offset16 + (value &amp; 3)].
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
* @stable ICU 2.1
*/
@ -566,7 +565,7 @@ public final class UTF16 {
* bounds are [offset16 - 1, offset16 + 1]
* </ul>
* For bit-twiddlers, the boundary values for these are chosen so that the boundaries
* can be gotten by: [offset16 - (boundvalue >> 2), offset16 + (boundvalue & 3)].
* can be gotten by: [offset16 - (boundvalue &gt;&gt; 2), offset16 + (boundvalue &amp; 3)].
* @exception IndexOutOfBoundsException If offset16 is not within the range of start and limit.
* @stable ICU 2.1
*/
@ -661,8 +660,8 @@ public final class UTF16 {
/**
* Convenience method corresponding to String.valueOf(char). Returns a one or two char string
* containing the UTF-32 value in UTF16 format. If a validity check is required, use <a
* href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on char32 before calling.
* containing the UTF-32 value in UTF16 format. If a validity check is required, use
* {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on char32 before calling.
*
* @param char32 The input character.
* @return string value of char32 in UTF16 format
@ -680,7 +679,7 @@ public final class UTF16 {
* Convenience method corresponding to String.valueOf(codepoint at offset16). Returns a one or
* two char string containing the UTF-32 value in UTF16 format. If offset16 indexes a surrogate
* character, the whole supplementary codepoint will be returned. If a validity check is
* required, use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the
* required, use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on the
* codepoint at offset16 before calling. The result returned will be a newly created String
* obtained by calling source.substring(..) with the appropriate indexes.
*
@ -704,7 +703,7 @@ public final class UTF16 {
* Convenience method corresponding to StringBuffer.valueOf(codepoint at offset16). Returns a
* one or two char string containing the UTF-32 value in UTF16 format. If offset16 indexes a
* surrogate character, the whole supplementary codepoint will be returned. If a validity check
* is required, use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on
* is required, use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on
* the codepoint at offset16 before calling. The result returned will be a newly created String
* obtained by calling source.substring(..) with the appropriate indexes.
*
@ -729,8 +728,8 @@ public final class UTF16 {
* format. If offset16 indexes a surrogate character, the whole supplementary codepoint will be
* returned, except when either the leading or trailing surrogate character lies out of the
* specified subarray. In the latter case, only the surrogate character within bounds will be
* returned. If a validity check is required, use <a
* href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on the codepoint at
* returned. If a validity check is required, use
* {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on the codepoint at
* offset16 before calling. The result returned will be a newly created String containing the
* relevant characters.
*
@ -753,7 +752,7 @@ public final class UTF16 {
/**
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
* the <a name="_top_">class description</a> for notes on roundtripping.
* the {@link UTF16 class description} for notes on roundtripping.
*
* @param source The UTF-16 string
* @param offset32 UTF-32 offset
@ -785,7 +784,7 @@ public final class UTF16 {
/**
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
* the <a name="_top_">class description</a> for notes on roundtripping.
* the {@link UTF16 class description} for notes on roundtripping.
*
* @param source The UTF-16 string buffer
* @param offset32 UTF-32 offset
@ -817,7 +816,7 @@ public final class UTF16 {
/**
* Returns the UTF-16 offset that corresponds to a UTF-32 offset. Used for random access. See
* the <a name="_top_">class description</a> for notes on roundtripping.
* the {@link UTF16 class description} for notes on roundtripping.
*
* @param source The UTF-16 char array whose substring is to be analysed
* @param start Offset of the substring to be analysed
@ -851,7 +850,7 @@ public final class UTF16 {
/**
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at or after the given
* UTF-16 offset. Used for random access. See the <a name="_top_">class description</a> for
* UTF-16 offset. Used for random access. See the {@link UTF16 class description} for
* notes on roundtripping.<br>
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
* of the <strong>lead</strong> of the pair is returned. </i>
@ -862,11 +861,8 @@ public final class UTF16 {
* len32 = countCodePoint(source, source.length());
* </pre>
*
* </p>
* <p>
*
* @param source Text to analyse
* @param offset16 UTF-16 offset < source text length.
* @param offset16 UTF-16 offset &lt; source text length.
* @return UTF-32 offset
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
* @stable ICU 2.1
@ -905,7 +901,7 @@ public final class UTF16 {
/**
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at the given UTF-16
* offset. Used for random access. See the <a name="_top_">class description</a> for notes on
* offset. Used for random access. See the {@link UTF16 class description} for notes on
* roundtripping.<br>
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
* of the <strong>lead</strong> of the pair is returned. </i>
@ -915,12 +911,9 @@ public final class UTF16 {
* <pre>
* len32 = countCodePoint(source);
* </pre>
*
* </p>
* <p>
*
*
* @param source Text to analyse
* @param offset16 UTF-16 offset < source text length.
* @param offset16 UTF-16 offset &lt; source text length.
* @return UTF-32 offset
* @exception IndexOutOfBoundsException If offset16 is out of bounds.
* @stable ICU 2.1
@ -959,7 +952,7 @@ public final class UTF16 {
/**
* Returns the UTF-32 offset corresponding to the first UTF-32 boundary at the given UTF-16
* offset. Used for random access. See the <a name="_top_">class description</a> for notes on
* offset. Used for random access. See the {@link UTF16 class description} for notes on
* roundtripping.<br>
* <i>Note: If the UTF-16 offset is into the middle of a surrogate pair, then the UTF-32 offset
* of the <strong>lead</strong> of the pair is returned. </i>
@ -969,10 +962,7 @@ public final class UTF16 {
* <pre>
* len32 = countCodePoint(source, start, limit);
* </pre>
*
* </p>
* <p>
*
*
* @param source Text to analyse
* @param start Offset of the substring
* @param limit Offset of the substring
@ -1016,7 +1006,7 @@ public final class UTF16 {
/**
* Append a single UTF-32 value to the end of a StringBuffer. If a validity check is required,
* use <a href="../lang/UCharacter.html#isLegal(char)">isLegal()</a></code> on char32 before
* use {@link com.ibm.icu.lang.UCharacter#isLegal(int)} on char32 before
* calling.
*
* @param target The buffer to append to
@ -1439,7 +1429,7 @@ public final class UTF16 {
* The offset argument must be greater than or equal to 0, and less than or equal to the limit.
*
* @param target Char array to insert to
* @param limit End index of the char array, limit <= target.length
* @param limit End index of the char array, limit &lt;= target.length
* @param offset16 Offset which char32 will be inserted in
* @param char32 Codepoint to be inserted
* @return new limit size
@ -1493,7 +1483,7 @@ public final class UTF16 {
* character if the codepoint is a non-supplementary, 2 otherwise).
*
* @param target String buffer to remove codepoint from
* @param limit End index of the char array, limit <= target.length
* @param limit End index of the char array, limit &lt;= target.length
* @param offset16 Offset which the codepoint will be removed
* @return a new limit size
* @exception IndexOutOfBoundsException Thrown if offset16 is invalid.
@ -1619,7 +1609,7 @@ public final class UTF16 {
/**
* Returns the index within the argument UTF16 format Unicode string of the first occurrence of
* the argument codepoint. I.e., the smallest index i such that: <br>
* (UTF16.charAt(source, i) == char32 && i >= fromIndex) is true.
* (UTF16.charAt(source, i) == char32 &amp;&amp; i &gt;= fromIndex) is true.
* <p>
* If no such character occurs in this string, then -1 is returned.
* </p>
@ -2086,7 +2076,7 @@ public final class UTF16 {
* efficient than counting all code points in the entire string and comparing that number with a
* threshold. This function may not need to scan the string at all if the length is within a
* certain range, and never needs to count more than 'number + 1' code points. Logically
* equivalent to (countCodePoint(s) > number). A Unicode code point may occupy either one or two
* equivalent to (countCodePoint(s) &gt; number). A Unicode code point may occupy either one or two
* code units.
*
* @param source The input string.
@ -2148,7 +2138,7 @@ public final class UTF16 {
* the entire char array range and comparing that number with a threshold. This function may not
* need to scan the char array at all if start and limit is within a certain range, and never
* needs to count more than 'number + 1' code points. Logically equivalent to
* (countCodePoint(source, start, limit) > number). A Unicode code point may occupy either one
* (countCodePoint(source, start, limit) &gt; number). A Unicode code point may occupy either one
* or two code units.
*
* @param source Array of UTF-16 chars
@ -2215,8 +2205,8 @@ public final class UTF16 {
* more efficient than counting all code points in the entire string buffer and comparing that
* number with a threshold. This function may not need to scan the string buffer at all if the
* length is within a certain range, and never needs to count more than 'number + 1' code
* points. Logically equivalent to (countCodePoint(s) > number). A Unicode code point may occupy
* either one or two code units.
* points. Logically equivalent to (countCodePoint(s) &gt; number). A Unicode code point may
* occupy either one or two code units.
*
* @param source The input string buffer.
* @param number The number of code points in the string buffer is compared against the 'number'
@ -2479,7 +2469,7 @@ public final class UTF16 {
*
* @param a first source string.
* @param b second source string.
* @return 0 returned if a == b. If a < b, a negative value is returned. Otherwise if a > b,
* @return 0 returned if a == b. If a &lt; b, a negative value is returned. Otherwise if a &gt; b,
* a positive value is returned.
* @exception ClassCastException thrown when either a or b is not a String object
* @stable ICU 4.4
@ -2643,7 +2633,7 @@ public final class UTF16 {
* slower = sc.compare(UTF16.valueOf(codePoint), charSequence == null ? "" : charSequence.toString())
* </pre>
* then
* </pre>
* <pre>
* Integer.signum(fast) == Integer.signum(slower)
* </pre>
* @param codePoint to test

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2009, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -63,7 +63,7 @@ package com.ibm.icu.text;
* // update the no. of bytes written
* totalBytesWritten += bytesWritten;
*
* } while(totalCharsCompressed < len);
* } while(totalCharsCompressed &lt; len);
*
* myCompressor.reset(); // reuse compressor
* </PRE>

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2009, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -55,7 +55,7 @@ package com.ibm.icu.text;
* // update the no. of chars written
* totalCharsWritten += charsWritten;
*
* } while(totalBytesDecompressed < len);
* } while(totalBytesDecompressed &lt; len);
*
* myDecompressor.reset(); // reuse decompressor
* </PRE>

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2014, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -10,7 +10,7 @@ package com.ibm.icu.text;
* <code>UnicodeFilter</code> defines a protocol for selecting a
* subset of the full range (U+0000 to U+FFFF) of Unicode characters.
* Currently, filters are used in conjunction with classes like
* <a href="Transliterator.html" title="class in com.ibm.icu.text"><code>Transliterator</code></a>
* {@link com.ibm.icu.text.Transliterator}
* to only process selected characters through a
* transformation.
* @stable ICU 2.0

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2001-2004, International Business Machines Corporation and *
* Copyright (C) 2001-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -45,7 +45,7 @@ public interface UnicodeMatcher {
public static final int U_MATCH = 2;
/**
* The character at index i, where i < contextStart || i >= contextLimit,
* The character at index i, where i &lt; contextStart || i &gt;= contextLimit,
* is ETHER. This allows explicit matching by rules and UnicodeSets
* of text outside the context. In traditional terms, this allows anchoring
* at the start and/or end.
@ -58,11 +58,11 @@ public interface UnicodeMatcher {
* the given text at the given offset. Zero, one, or more
* characters may be matched.
*
* Matching in the forward direction is indicated by limit >
* Matching in the forward direction is indicated by limit &gt;
* offset. Characters from offset forwards to limit-1 will be
* considered for matching.
*
* Matching in the reverse direction is indicated by limit <
* Matching in the reverse direction is indicated by limit &lt;
* offset. Characters from offset backwards to limit+1 will be
* considered for matching.
*
@ -115,7 +115,7 @@ public interface UnicodeMatcher {
/**
* Returns TRUE if this matcher will match a character c, where c
* & 0xFF == v, at offset, in the forward direction (with limit >
* &amp; 0xFF == v, at offset, in the forward direction (with limit &gt;
* offset). This is used by <tt>RuleBasedTransliterator</tt> for
* indexing.
*

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2015, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -89,33 +89,33 @@ import com.ibm.icu.util.VersionInfo;
*
* <blockquote>
* <table>
* <tr align="top">
* <td nowrap valign="top" align="left"><code>[]</code></td>
* <td valign="top">No characters</td>
* </tr><tr align="top">
* <td nowrap valign="top" align="left"><code>[a]</code></td>
* <td valign="top">The character 'a'</td>
* </tr><tr align="top">
* <td nowrap valign="top" align="left"><code>[ae]</code></td>
* <td valign="top">The characters 'a' and 'e'</td>
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[]</code></td>
* <td style="vertical-align: top;">No characters</td>
* </tr><tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a]</code></td>
* <td style="vertical-align: top;">The character 'a'</td>
* </tr><tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[ae]</code></td>
* <td style="vertical-align: top;">The characters 'a' and 'e'</td>
* </tr>
* <tr>
* <td nowrap valign="top" align="left"><code>[a-e]</code></td>
* <td valign="top">The characters 'a' through 'e' inclusive, in Unicode code
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a-e]</code></td>
* <td style="vertical-align: top;">The characters 'a' through 'e' inclusive, in Unicode code
* point order</td>
* </tr>
* <tr>
* <td nowrap valign="top" align="left"><code>[\\u4E01]</code></td>
* <td valign="top">The character U+4E01</td>
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[\\u4E01]</code></td>
* <td style="vertical-align: top;">The character U+4E01</td>
* </tr>
* <tr>
* <td nowrap valign="top" align="left"><code>[a{ab}{ac}]</code></td>
* <td valign="top">The character 'a' and the multicharacter strings &quot;ab&quot; and
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[a{ab}{ac}]</code></td>
* <td style="vertical-align: top;">The character 'a' and the multicharacter strings &quot;ab&quot; and
* &quot;ac&quot;</td>
* </tr>
* <tr>
* <td nowrap valign="top" align="left"><code>[\p{Lu}]</code></td>
* <td valign="top">All characters in the general category Uppercase Letter</td>
* <td style="white-space: nowrap; vertical-align: top; horizontal-align: left;"><code>[\p{Lu}]</code></td>
* <td style="vertical-align: top;">All characters in the general category Uppercase Letter</td>
* </tr>
* </table>
* </blockquote>
@ -151,34 +151,34 @@ import com.ibm.icu.util.VersionInfo;
* literal. Thus "[a\\-b]", "[-ab]", and "[ab-]" all indicate the same
* set of three characters, 'a', 'b', and '-'.
*
* <p>Sets may be intersected using the '&' operator or the asymmetric
* <p>Sets may be intersected using the '&amp;' operator or the asymmetric
* set difference may be taken using the '-' operator, for example,
* "[[:L:]&[\\u0000-\\u0FFF]]" indicates the set of all Unicode letters
* with values less than 4096. Operators ('&' and '|') have equal
* "[[:L:]&amp;[\\u0000-\\u0FFF]]" indicates the set of all Unicode letters
* with values less than 4096. Operators ('&amp;' and '|') have equal
* precedence and bind left-to-right. Thus
* "[[:L:]-[a-z]-[\\u0100-\\u01FF]]" is equivalent to
* "[[[:L:]-[a-z]]-[\\u0100-\\u01FF]]". This only really matters for
* difference; intersection is commutative.
*
* <table>
* <tr valign=top><td nowrap><code>[a]</code><td>The set containing 'a'
* <tr valign=top><td nowrap><code>[a-z]</code><td>The set containing 'a'
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[a]</code><td>The set containing 'a'
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[a-z]</code><td>The set containing 'a'
* through 'z' and all letters in between, in Unicode order
* <tr valign=top><td nowrap><code>[^a-z]</code><td>The set containing
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[^a-z]</code><td>The set containing
* all characters but 'a' through 'z',
* that is, U+0000 through 'a'-1 and 'z'+1 through U+10FFFF
* <tr valign=top><td nowrap><code>[[<em>pat1</em>][<em>pat2</em>]]</code>
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>][<em>pat2</em>]]</code>
* <td>The union of sets specified by <em>pat1</em> and <em>pat2</em>
* <tr valign=top><td nowrap><code>[[<em>pat1</em>]&[<em>pat2</em>]]</code>
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>]&amp;[<em>pat2</em>]]</code>
* <td>The intersection of sets specified by <em>pat1</em> and <em>pat2</em>
* <tr valign=top><td nowrap><code>[[<em>pat1</em>]-[<em>pat2</em>]]</code>
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[[<em>pat1</em>]-[<em>pat2</em>]]</code>
* <td>The asymmetric difference of sets specified by <em>pat1</em> and
* <em>pat2</em>
* <tr valign=top><td nowrap><code>[:Lu:] or \p{Lu}</code>
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[:Lu:] or \p{Lu}</code>
* <td>The set of characters having the specified
* Unicode property; in
* this case, Unicode uppercase letters
* <tr valign=top><td nowrap><code>[:^Lu:] or \P{Lu}</code>
* <tr style="vertical-align: top;"><td style="white-space: nowrap;"><code>[:^Lu:] or \P{Lu}</code>
* <td>The set of characters <em>not</em> having the given
* Unicode property
* </table>
@ -189,48 +189,48 @@ import com.ibm.icu.util.VersionInfo;
*
* <blockquote>
* <table>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>pattern :=&nbsp; </code></td>
* <td valign="top"><code>('[' '^'? item* ']') |
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>pattern :=&nbsp; </code></td>
* <td style="vertical-align: top;"><code>('[' '^'? item* ']') |
* property</code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>item :=&nbsp; </code></td>
* <td valign="top"><code>char | (char '-' char) | pattern-expr<br>
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>item :=&nbsp; </code></td>
* <td style="vertical-align: top;"><code>char | (char '-' char) | pattern-expr<br>
* </code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>pattern-expr :=&nbsp; </code></td>
* <td valign="top"><code>pattern | pattern-expr pattern |
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>pattern-expr :=&nbsp; </code></td>
* <td style="vertical-align: top;"><code>pattern | pattern-expr pattern |
* pattern-expr op pattern<br>
* </code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>op :=&nbsp; </code></td>
* <td valign="top"><code>'&amp;' | '-'<br>
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>op :=&nbsp; </code></td>
* <td style="vertical-align: top;"><code>'&amp;' | '-'<br>
* </code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>special :=&nbsp; </code></td>
* <td valign="top"><code>'[' | ']' | '-'<br>
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>special :=&nbsp; </code></td>
* <td style="vertical-align: top;"><code>'[' | ']' | '-'<br>
* </code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>char :=&nbsp; </code></td>
* <td valign="top"><em>any character that is not</em><code> special<br>
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>char :=&nbsp; </code></td>
* <td style="vertical-align: top;"><em>any character that is not</em><code> special<br>
* | ('\\' </code><em>any character</em><code>)<br>
* | ('&#92;u' hex hex hex hex)<br>
* </code></td>
* </tr>
* <tr align="top">
* <td nowrap valign="top" align="right"><code>hex :=&nbsp; </code></td>
* <td valign="top"><em>any character for which
* <tr style="vertical-align: top">
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>hex :=&nbsp; </code></td>
* <td style="vertical-align: top;"><em>any character for which
* </em><code>Character.digit(c, 16)</code><em>
* returns a non-negative result</em></td>
* </tr>
* <tr>
* <td nowrap valign="top" align="right"><code>property :=&nbsp; </code></td>
* <td valign="top"><em>a Unicode property set pattern</td>
* <td style="white-space: nowrap; vertical-align: top;" align="right"><code>property :=&nbsp; </code></td>
* <td style="vertical-align: top;"><em>a Unicode property set pattern</em></td>
* </tr>
* </table>
* <br>
@ -238,32 +238,32 @@ import com.ibm.icu.util.VersionInfo;
* <tr>
* <td>Legend: <table>
* <tr>
* <td nowrap valign="top"><code>a := b</code></td>
* <td width="20" valign="top">&nbsp; </td>
* <td valign="top"><code>a</code> may be replaced by <code>b</code> </td>
* <td style="white-space: nowrap; vertical-align: top;"><code>a := b</code></td>
* <td style="width: 20; vertical-align: top;">&nbsp; </td>
* <td style="vertical-align: top;"><code>a</code> may be replaced by <code>b</code> </td>
* </tr>
* <tr>
* <td nowrap valign="top"><code>a?</code></td>
* <td valign="top"></td>
* <td valign="top">zero or one instance of <code>a</code><br>
* <td style="white-space: nowrap; vertical-align: top;"><code>a?</code></td>
* <td style="vertical-align: top;"></td>
* <td style="vertical-align: top;">zero or one instance of <code>a</code><br>
* </td>
* </tr>
* <tr>
* <td nowrap valign="top"><code>a*</code></td>
* <td valign="top"></td>
* <td valign="top">one or more instances of <code>a</code><br>
* <td style="white-space: nowrap; vertical-align: top;"><code>a*</code></td>
* <td style="vertical-align: top;"></td>
* <td style="vertical-align: top;">one or more instances of <code>a</code><br>
* </td>
* </tr>
* <tr>
* <td nowrap valign="top"><code>a | b</code></td>
* <td valign="top"></td>
* <td valign="top">either <code>a</code> or <code>b</code><br>
* <td style="white-space: nowrap; vertical-align: top;"><code>a | b</code></td>
* <td style="vertical-align: top;"></td>
* <td style="vertical-align: top;">either <code>a</code> or <code>b</code><br>
* </td>
* </tr>
* <tr>
* <td nowrap valign="top"><code>'a'</code></td>
* <td valign="top"></td>
* <td valign="top">the literal string between the quotes </td>
* <td style="white-space: nowrap; vertical-align: top;"><code>'a'</code></td>
* <td style="vertical-align: top;"></td>
* <td style="vertical-align: top;">the literal string between the quotes </td>
* </tr>
* </table>
* </td>
@ -376,7 +376,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
}
/**
* Constructs a set containing the given range. If <code>end >
* Constructs a set containing the given range. If <code>end &gt;
* start</code> then an empty set is created.
*
* @param start first character, inclusive, of range
@ -389,11 +389,11 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
}
/**
* Quickly constructs a set from a set of ranges <s0, e0, s1, e1, s2, e2, ..., sn, en>.
* Quickly constructs a set from a set of ranges &lt;s0, e0, s1, e1, s2, e2, ..., sn, en&gt;.
* There must be an even number of integers, and they must be all greater than zero,
* all less than or equal to Character.MAX_CODE_POINT.
* In each pair (..., si, ei, ...) it must be true that si <= ei
* Between adjacent pairs (...ei, sj...), it must be true that ei+1 < sj
* In each pair (..., si, ei, ...) it must be true that si &lt;= ei
* Between adjacent pairs (...ei, sj...), it must be true that ei+1 &lt; sj
* @param pairs pairs of character representing ranges
* @stable ICU 4.4
*/
@ -517,7 +517,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Make this object represent the range <code>start - end</code>.
* If <code>end > start</code> then this object is set to an
* If <code>end &gt; start</code> then this object is set to an
* an empty range.
*
* @param start first character in the set, inclusive
@ -1157,7 +1157,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Adds the specified range to this set if it is not already
* present. If this set already contains the specified range,
* the call leaves this set unchanged. If <code>end > start</code>
* the call leaves this set unchanged. If <code>end &gt; start</code>
* then an empty range is added, leaving the set unchanged.
*
* @param start first character, inclusive, of range to be added
@ -1321,7 +1321,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
* Adds the specified multicharacter to this set if it is not already
* present. If this set already contains the multicharacter,
* the call leaves this set unchanged.
* Thus "ch" => {"ch"}
* Thus "ch" =&gt; {"ch"}
* <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
* @param s the source string
* @return this object, for chaining
@ -1362,7 +1362,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
}
/**
* Adds each of the characters in this string to the set. Thus "ch" => {"c", "h"}
* Adds each of the characters in this string to the set. Thus "ch" =&gt; {"c", "h"}
* If this set already any particular character, it has no effect on that character.
* @param s the source string
* @return this object, for chaining
@ -1426,7 +1426,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
}
/**
* Makes a set from a multicharacter string. Thus "ch" => {"ch"}
* Makes a set from a multicharacter string. Thus "ch" =&gt; {"ch"}
* <br><b>Warning: you cannot add an empty string ("") to a UnicodeSet.</b>
* @param s the source string
* @return a newly created set containing the given string
@ -1438,7 +1438,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Makes a set from each of the characters in the string. Thus "ch" => {"c", "h"}
* Makes a set from each of the characters in the string. Thus "ch" =&gt; {"c", "h"}
* @param s the source string
* @return a newly created set containing the given characters
* @stable ICU 2.0
@ -1450,7 +1450,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Retain only the elements in this set that are contained in the
* specified range. If <code>end > start</code> then an empty range is
* specified range. If <code>end &gt; start</code> then an empty range is
* retained, leaving the set empty.
*
* @param start first character, inclusive, of range to be retained
@ -1516,7 +1516,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Removes the specified range from this set if it is present.
* The set will not contain the specified range once the call
* returns. If <code>end > start</code> then an empty range is
* returns. If <code>end &gt; start</code> then an empty range is
* removed, leaving the set unchanged.
*
* @param start first character, inclusive, of range to be removed
@ -1573,7 +1573,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
/**
* Complements the specified range in this set. Any character in
* the range will be removed if it is in this set, or will be
* added if it is not in this set. If <code>end > start</code>
* added if it is not in this set. If <code>end &gt; start</code>
* then an empty range is complemented, leaving the set unchanged.
*
* @param start first character, inclusive, of range to be removed
@ -3359,7 +3359,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
* UCharacter.getIntPropertyMaxValue(prop), with one exception.
* If prop is UProperty.GENERAL_CATEGORY_MASK, then value should not be
* a UCharacter.getType() result, but rather a mask value produced
* by logically ORing (1 << UCharacter.getType()) values together.
* by logically ORing (1 &lt;&lt; UCharacter.getType()) values together.
* This allows grouped categories such as [:L:] to be represented.
*
* @return a reference to this set
@ -3821,7 +3821,7 @@ public class UnicodeSet extends UnicodeFilter implements Iterable<String>, Compa
* 2. For each string 'e' in the resulting set, if e !=
* foldCase(e), 'e' will be removed.
*
* Example: [aq\u00DF{Bc}{bC}{Fi}] => [aAqQ\u00DF\uFB01{ss}{bc}{fi}]
* Example: [aq\u00DF{Bc}{bC}{Fi}] =&gt; [aAqQ\u00DF\uFB01{ss}{bc}{fi}]
*
* (Here foldCase(x) refers to the operation
* UCharacter.foldCase(x, true), and a == b actually denotes

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2014-2015, International Business Machines Corporation and
* Copyright (C) 2014-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -14,7 +14,7 @@ import com.ibm.icu.util.OutputInt;
* An instance is immutable (and thus thread-safe) iff the source UnicodeSet is frozen.
* <p><b>Note:</b> The counting, deletion, and replacement depend on alternating a {@link SpanCondition} with
* its inverse. That is, the code spans, then spans for the inverse, then spans, and so on.
* For the inverse, the following mapping is used:</p>
* For the inverse, the following mapping is used:
* <ul>
* <li>{@link UnicodeSet.SpanCondition#SIMPLE} {@link UnicodeSet.SpanCondition#NOT_CONTAINED}</li>
* <li>{@link UnicodeSet.SpanCondition#CONTAINED} {@link UnicodeSet.SpanCondition#NOT_CONTAINED}</li>
@ -22,21 +22,21 @@ import com.ibm.icu.util.OutputInt;
* </ul>
* These are actually not complete inverses. However, the alternating works because there are no gaps.
* For example, with [a{ab}{bc}], you get the following behavior when scanning forward:
* <p>
*
* <table border="1">
* <tr><th>SIMPLE</th><td>xxx[ab]cyyy</td></tr>
* <tr><th>CONTAINED</th><td>xxx[abc]yyy</td></tr>
* <tr><th>NOT_CONTAINED</th><td>[xxx]ab[cyyy]</td></tr>
* </table>
* <p>So here is what happens when you alternate:
* <p>
*
* <table border="1">
* <tr><th>start</th><td>|xxxabcyyy</td></tr>
* <tr><th>NOT_CONTAINED</th><td>xxx|abcyyy</td></tr>
* <tr><th>CONTAINED</th><td>xxxabc|yyy</td></tr>
* <tr><th>NOT_CONTAINED</th><td>xxxabcyyy|</td></tr>
* </table>
* </p>The entire string is traversed.
* <p>The entire string is traversed.
*
* @stable ICU 54
*/

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -12,14 +12,12 @@ import java.nio.ByteBuffer;
import com.ibm.icu.impl.Utility;
/**
* <p>
* A simple utility class to wrap a byte array.
* </p>
* <p>
* Generally passed as an argument object into a method. The method takes
* responsibility of writing into the internal byte array and increasing its
* size when necessary.
* </p>
*
* @author syn wee
* @stable ICU 2.8
*/
@ -56,7 +54,7 @@ public class ByteArrayWrapper implements Comparable<ByteArrayWrapper>
* @param bytesToAdopt the byte array to adopt
* @param size the length of valid data in the byte array
* @throws IndexOutOfBoundsException if bytesToAdopt == null and size != 0, or
* size < 0, or size > bytesToAdopt.length.
* size &lt; 0, or size &gt; bytesToAdopt.length.
* @stable ICU 3.2
*/
public ByteArrayWrapper(byte[] bytesToAdopt, int size) {
@ -242,7 +240,7 @@ public class ByteArrayWrapper implements Comparable<ByteArrayWrapper>
/**
* Compare this object to another ByteArrayWrapper, which must not be null.
* @param other the object to compare to.
* @return a value <0, 0, or >0 as this compares less than, equal to, or
* @return a value &lt;0, 0, or &gt;0 as this compares less than, equal to, or
* greater than other.
* @throws ClassCastException if the other object is not a ByteArrayWrapper
* @stable ICU 4.4

View File

@ -3799,9 +3799,9 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
/**
* Returns the week number of a day, within a period. This may be the week number in
* a year or the week number in a month. Usually this will be a value >= 1, but if
* a year or the week number in a month. Usually this will be a value &gt;= 1, but if
* some initial days of the period are excluded from week 1, because
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1, then
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is &gt; 1, then
* the week number will be zero for those
* initial days. This method requires the day number and day of week for some
* known date in the period in order to determine the day of week
@ -3862,9 +3862,9 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
/**
* Returns the week number of a day, within a period. This may be the week number in
* a year, or the week number in a month. Usually this will be a value >= 1, but if
* a year, or the week number in a month. Usually this will be a value &gt;= 1, but if
* some initial days of the period are excluded from week 1, because
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is > 1,
* {@link #getMinimalDaysInFirstWeek getMinimalDaysInFirstWeek} is &gt; 1,
* then the week number will be zero for those
* initial days. This method requires the day of week for the given date in order to
* determine the result.
@ -3941,7 +3941,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* int m2 = cal.fieldDifference(date1, Calendar.MONTH);
* int d2 = cal.fieldDifference(date1, Calendar.DATE);</pre>
*
* one might expect that <code>m1 == -m2 && d1 == -d2</code>.
* one might expect that <code>m1 == -m2 &amp;&amp; d1 == -d2</code>.
* However, this is not generally the case, because of
* irregularities in the underlying calendar system (e.g., the
* Gregorian calendar has a varying number of days per month).
@ -4319,7 +4319,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
/**
* Returns a limit for a field.
* @param field the field, from 0..</code>getFieldCount()-1</code>
* @param field the field, from 0..<code>getFieldCount()-1</code>
* @param limitType the type specifier for the limit
* @see #MINIMUM
* @see #GREATEST_MINIMUM
@ -5007,8 +5007,8 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* Julian day. These values are not stored in fields, but in member
* variables gregorianXxx. They are used for time zone computations and by
* subclasses that are Gregorian derivatives. Subclasses may call this
* method to perform a Gregorian calendar millis->fields computation.
* To perform a Gregorian calendar fields->millis computation, call
* method to perform a Gregorian calendar millis-&gt;fields computation.
* To perform a Gregorian calendar fields-&gt;millis computation, call
* computeGregorianMonthStart().
* @see #computeGregorianMonthStart
* @stable ICU 2.0
@ -5913,8 +5913,8 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
/**
* Compute the Julian day of a month of the Gregorian calendar.
* Subclasses may call this method to perform a Gregorian calendar
* fields->millis computation. To perform a Gregorian calendar
* millis->fields computation, call computeGregorianFields().
* fields-&gt;millis computation. To perform a Gregorian calendar
* millis-&gt;fields computation, call computeGregorianFields().
* @param year extended Gregorian year
* @param month zero-based Gregorian month
* @return the Julian day number of the day before the first
@ -6128,10 +6128,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* Divide two long integers, returning the floor of the quotient.
* <p>
* Unlike the built-in division, this is mathematically well-behaved.
* E.g., <code>-1/4</code> => 0
* but <code>floorDivide(-1,4)</code> => -1.
* E.g., <code>-1/4</code> =&gt; 0
* but <code>floorDivide(-1,4)</code> =&gt; -1.
* @param numerator the numerator
* @param denominator a divisor which must be > 0
* @param denominator a divisor which must be &gt; 0
* @return the floor of the quotient.
* @stable ICU 2.0
*/
@ -6147,10 +6147,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* Divide two integers, returning the floor of the quotient.
* <p>
* Unlike the built-in division, this is mathematically well-behaved.
* E.g., <code>-1/4</code> => 0
* but <code>floorDivide(-1,4)</code> => -1.
* E.g., <code>-1/4</code> =&gt; 0
* but <code>floorDivide(-1,4)</code> =&gt; -1.
* @param numerator the numerator
* @param denominator a divisor which must be > 0
* @param denominator a divisor which must be &gt; 0
* @return the floor of the quotient.
* @stable ICU 2.0
*/
@ -6167,10 +6167,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* the modulus remainder.
* <p>
* Unlike the built-in division, this is mathematically well-behaved.
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
* E.g., <code>-1/4</code> =&gt; 0 and <code>-1%4</code> =&gt; -1,
* but <code>floorDivide(-1,4)</code> =&gt; -1 with <code>remainder[0]</code> =&gt; 3.
* @param numerator the numerator
* @param denominator a divisor which must be > 0
* @param denominator a divisor which must be &gt; 0
* @param remainder an array of at least one element in which the value
* <code>numerator mod denominator</code> is returned. Unlike <code>numerator
* % denominator</code>, this will always be non-negative.
@ -6192,10 +6192,10 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
* the modulus remainder.
* <p>
* Unlike the built-in division, this is mathematically well-behaved.
* E.g., <code>-1/4</code> => 0 and <code>-1%4</code> => -1,
* but <code>floorDivide(-1,4)</code> => -1 with <code>remainder[0]</code> => 3.
* E.g., <code>-1/4</code> =&gt; 0 and <code>-1%4</code> =&gt; -1,
* but <code>floorDivide(-1,4)</code> =&gt; -1 with <code>remainder[0]</code> =&gt; 3.
* @param numerator the numerator
* @param denominator a divisor which must be > 0
* @param denominator a divisor which must be &gt; 0
* @param remainder an array of at least one element in which the value
* <code>numerator mod denominator</code> is returned. Unlike <code>numerator
* % denominator</code>, this will always be non-negative.
@ -6292,12 +6292,12 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable<Ca
/**
* Returns if two digit representation of year in this calendar type
* customarily implies a default century (i.e. 03 -> 2003).
* customarily implies a default century (i.e. 03 -&gt; 2003).
* The default implementation returns <code>true</code>. A subclass may
* return <code>false</code> if such practice is not applicable (for example,
* Chinese calendar and Japanese calendar).
*
* @return <code>true<code> if this calendar has a default century.
* @return <code>true</code> if this calendar has a default century.
* @internal
* @deprecated This API is ICU internal only.
*/

View File

@ -640,7 +640,7 @@ public class Currency extends MeasureUnit {
* @param text the text to parse
* @param type parse against currency type: LONG_NAME only or not
* @param pos input-output position; on input, the position within
* text to match; must have 0 <= pos.getIndex() < text.length();
* text to match; must have 0 &lt;= pos.getIndex() &lt; text.length();
* on output, the position after the last matched character. If
* the parse fails, the position in unchanged upon output.
* @return the ISO 4217 code, as a string, of the best match, or

View File

@ -1,6 +1,6 @@
/*
******************************************************************************
* Copyright (C) 2005-2014, International Business Machines Corporation and *
* Copyright (C) 2005-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
******************************************************************************
*/
@ -139,7 +139,7 @@ package com.ibm.icu.util;
* </p>
*
* <pre>
* public class A implements Freezable<A> {
* public class A implements Freezable&lt;A&gt; {
* ...
* public final boolean isFrozen() {return true;}
* public final A freeze() {return this;}

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2014, International Business Machines Corporation and
* Copyright (C) 1996-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -46,7 +46,7 @@ import com.ibm.icu.util.ULocale.Category;
* calendar, see one of the following references:
* <ul>
* <li>"<a href="http://www.amazon.com/exec/obidos/ASIN/0521564743">Calendrical Calculations</a>",
* by Nachum Dershowitz & Edward Reingold, Cambridge University Press, 1997, pages 85-91.
* by Nachum Dershowitz &amp; Edward Reingold, Cambridge University Press, 1997, pages 85-91.
*
* <li>Hebrew Calendar Science and Myths,
* <a href="http://web.archive.org/web/20090423084613/http://www.geocities.com/Athens/1584/">

View File

@ -32,7 +32,8 @@ public final class LocaleData {
/**
* EXType for {@link #getExemplarSet(int, int)}.
* Corresponds to the 'main' (aka 'standard') CLDR exemplars in
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
* @stable ICU 3.4
*/
public static final int ES_STANDARD = 0;
@ -40,7 +41,8 @@ public final class LocaleData {
/**
* EXType for {@link #getExemplarSet(int, int)}.
* Corresponds to the 'auxiliary' CLDR exemplars in
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
* @stable ICU 3.4
*/
public static final int ES_AUXILIARY = 1;
@ -48,7 +50,8 @@ public final class LocaleData {
/**
* EXType for {@link #getExemplarSet(int, int)}.
* Corresponds to the 'index' CLDR exemplars in
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
* @stable ICU 4.4
*/
public static final int ES_INDEX = 2;
@ -56,7 +59,8 @@ public final class LocaleData {
/**
* EXType for {@link #getExemplarSet(int, int)}.
* Corresponds to the 'currencySymbol' CLDR exemplars in
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
* Note: This type is no longer supported.
* @deprecated ICU 51
*/
@ -65,7 +69,8 @@ public final class LocaleData {
/**
* Corresponds to the 'punctuation' CLDR exemplars in
* {@link "http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements"}.
* <a href="http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements">
* http://www.unicode.org/reports/tr35/tr35-general.html#Character_Elements</a>.
* EXType for {@link #getExemplarSet(int, int)}.
* @stable ICU 49
*/
@ -405,7 +410,7 @@ public final class LocaleData {
/**
* Returns the size of paper used in the locale. The paper sizes returned are always in
* <em> milli-meters<em>.
* <em>milli-meters</em>.
* @param locale The locale for which the measurement system to be retrieved.
* @return The paper size used in the locale
* @stable ICU 3.0

View File

@ -1,6 +1,6 @@
/*
****************************************************************************************
* Copyright (C) 2009-2015, Google, Inc.; International Business Machines Corporation *
* Copyright (C) 2009-2016, Google, Inc.; International Business Machines Corporation *
* and others. All Rights Reserved. *
****************************************************************************************
*/
@ -32,7 +32,7 @@ import com.ibm.icu.impl.Utility;
* LocaleMatcher matcher = new LocaleMatcher("fr, en-GB, en");
*
* // afterwards:
* matcher.getBestMatch("en-US").toLanguageTag() => "en"
* matcher.getBestMatch("en-US").toLanguageTag() =&gt; "en"
* </pre>
*
* It takes into account when languages are close to one another, such as fil

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2010-2014, Google, Inc.; International Business Machines *
* Copyright (C) 2010-2016, Google, Inc.; International Business Machines *
* Corporation and others. All Rights Reserved. *
*******************************************************************************
*/
@ -22,7 +22,7 @@ import java.util.regex.Pattern;
/**
* Provides an immutable list of languages (locales) in priority order.
* The string format is based on the Accept-Language format
* {@link "http://www.ietf.org/rfc/rfc2616.txt"}, such as
* <a href="http://www.ietf.org/rfc/rfc2616.txt">http://www.ietf.org/rfc/rfc2616.txt</a>, such as
* "af, en, fr;q=0.9". Syntactically it is slightly
* more lenient, in allowing extra whitespace between elements, extra commas,
* and more than 3 decimals (on input), and pins between 0 and 1.

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2011-2012, International Business Machines Corporation and *
* Copyright (C) 2011-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -35,7 +35,7 @@ public class Output<T> {
}
/**
* Constructs an <code>Output</code> withe the given value.
* Constructs an <code>Output</code> with the given value.
* @param value the initial value
* @stable ICU 4.8
*/

View File

@ -1,6 +1,6 @@
/*
******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
******************************************************************************
*/
@ -8,12 +8,12 @@
package com.ibm.icu.util;
/**
* <p>Interface for enabling iteration over sets of &lt;int index, int value>,
* <p>Interface for enabling iteration over sets of &lt;int index, int value&gt;,
* where index is the sorted integer index in ascending order and value, its
* associated integer value.</p>
* associated integer value.
* <p>The result for each iteration is the consecutive range of
* &lt;int index, int value> with the same value. Result is represented by
* &lt;start, limit, value> where</p>
* &lt;int index, int value&gt; with the same value. Result is represented by
* &lt;start, limit, value&gt; where
* <ul>
* <li> start is the starting integer of the result range
* <li> limit is 1 after the maximum integer that follows start, such that
@ -26,11 +26,11 @@ package com.ibm.icu.util;
* Hence value(start) = value(start + 1) = .... = value(start + n) = .... =
* value(limit - 1). However value(start -1) != value(start) and
* value(limit) != value(start).
* </p>
*
* <p>Most implementations will be created by factory methods, such as the
* character type iterator in UCharacter.getTypeIterator. See example below.
* </p>
* Example of use:<br>
*
* <p>Example of use:<br>
* <pre>
* RangeValueIterator iterator = UCharacter.getTypeIterator();
* RangeValueIterator.Element result = new RangeValueIterator.Element();
@ -92,9 +92,9 @@ public interface RangeValueIterator
/**
* <p>Returns the next maximal result range with a common value and returns
* true if we are not at the end of the iteration, false otherwise.</p>
* true if we are not at the end of the iteration, false otherwise.
* <p>If this returns a false, the contents of elements will not
* be updated.</p>
* be updated.
* @param element for storing the result range and value
* @return true if we are not at the end of the iteration, false otherwise.
* @see Element

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -94,8 +94,8 @@ public class SimpleHoliday extends Holiday {
* @param dayOfWeek The day of the week on which this holiday occurs.
* The following values are legal: <ul>
* <li>dayOfWeek == 0 - use dayOfMonth only
* <li>dayOfWeek < 0 - use last -dayOfWeek before or on dayOfMonth
* <li>dayOfWeek > 0 - use first dayOfWeek after or on dayOfMonth
* <li>dayOfWeek &lt; 0 - use last -dayOfWeek before or on dayOfMonth
* <li>dayOfWeek &gt; 0 - use first dayOfWeek after or on dayOfMonth
* </ul>
*
* @param name The name of this holiday. This string is used as a key

View File

@ -1,6 +1,6 @@
/**
*******************************************************************************
* Copyright (C) 1996-2014, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -20,11 +20,10 @@ import com.ibm.icu.text.UnicodeSet;
* into tokens by performing code point comparison.
* The <code>StringTokenizer</code> methods do not distinguish
* among identifiers, numbers, and quoted strings, nor do they recognize
* and skip comments.</p>
* and skip comments.
* <p>
* The set of delimiters (the codepoints that separate tokens) may be
* specified either at creation time or on a per-token basis.
* </p>
* <p>
* An instance of <code>StringTokenizer</code> behaves in one of three ways,
* depending on whether it was created with the <code>returnDelims</code>
@ -44,16 +43,13 @@ import com.ibm.icu.text.UnicodeSet;
* delimiter code point, a maximal sequence of consecutive code points that
* are delimiters, or a maximal sequence of consecutive code
* points that are not delimiters.
* </p>
* <p>
* A <tt>StringTokenizer</tt> object internally maintains a current
* position within the string to be tokenized. Some operations advance this
* current position past the code point processed.
* </p>
* <p>
* A token is returned by taking a substring of the string that was used to
* create the <tt>StringTokenizer</tt> object.
* </p>
* <p>
* Example of the use of the default delimiter tokenizer.
* <blockquote><pre>
@ -62,7 +58,6 @@ import com.ibm.icu.text.UnicodeSet;
* println(st.nextToken());
* }
* </pre></blockquote>
* </p>
* <p>
* prints the following output:
* <blockquote><pre>
@ -71,7 +66,6 @@ import com.ibm.icu.text.UnicodeSet;
* a
* test
* </pre></blockquote>
* </p>
* <p>
* Example of the use of the tokenizer with user specified delimiter.
* <blockquote><pre>
@ -82,7 +76,6 @@ import com.ibm.icu.text.UnicodeSet;
* println(st.nextToken());
* }
* </pre></blockquote>
* </p>
* <p>
* prints the following output:
* <blockquote><pre>
@ -96,7 +89,7 @@ import com.ibm.icu.text.UnicodeSet;
* &#92;ud800
* &#92;udc00
* </pre></blockquote>
* </p>
*
* @author syn wee
* @stable ICU 2.4
*/
@ -109,7 +102,7 @@ public final class StringTokenizer implements Enumeration<Object>
* characters in the delim argument are the delimiters for separating
* tokens.
* <p>If the returnDelims flag is false, the delimiter characters are
* skipped and only serve as separators between tokens.</p>
* skipped and only serve as separators between tokens.
* <p>If the returnDelims flag is true, then the delimiter characters
* are also returned as tokens, one per delimiter.
* @param str a string to be parsed.
@ -129,12 +122,12 @@ public final class StringTokenizer implements Enumeration<Object>
* characters in the delim argument are the delimiters for separating
* tokens.
* <p>If the returnDelims flag is false, the delimiter characters are
* skipped and only serve as separators between tokens.</p>
* skipped and only serve as separators between tokens.
* <p>If the returnDelims flag is true, then the delimiter characters
* are also returned as tokens. If coalescedelims is true, one token
* is returned for each run of delimiter characters, otherwise one
* token is returned per delimiter. Since surrogate pairs can be
* delimiters, the returned token might be two chars in length.</p>
* delimiters, the returned token might be two chars in length.
* @param str a string to be parsed.
* @param delim the delimiters.
* @param returndelims flag indicating whether to return the delimiters
@ -177,7 +170,7 @@ public final class StringTokenizer implements Enumeration<Object>
* {@icu} Constructs a string tokenizer for the specified string. The
* characters in the delim argument are the delimiters for separating
* tokens.
* <p>Delimiter characters themselves will not be treated as tokens.</p>
* <p>Delimiter characters themselves will not be treated as tokens.
* @param str a string to be parsed.
* @param delim the delimiters.
* @exception NullPointerException if str is null
@ -191,9 +184,9 @@ public final class StringTokenizer implements Enumeration<Object>
/**
* <p>Constructs a string tokenizer for the specified string. All
* characters in the delim argument are the delimiters for separating
* tokens.</p>
* tokens.
* <p>If the returnDelims flag is false, the delimiter characters are
* skipped and only serve as separators between tokens.</p>
* skipped and only serve as separators between tokens.
* <p>If the returnDelims flag is true, then the delimiter characters
* are also returned as tokens, one per delimiter.
* @param str a string to be parsed.
@ -211,14 +204,14 @@ public final class StringTokenizer implements Enumeration<Object>
/**
* <p>Constructs a string tokenizer for the specified string. All
* characters in the delim argument are the delimiters for separating
* tokens.</p>
* tokens.
* <p>If the returnDelims flag is false, the delimiter characters are
* skipped and only serve as separators between tokens.</p>
* skipped and only serve as separators between tokens.
* <p>If the returnDelims flag is true, then the delimiter characters
* are also returned as tokens. If coalescedelims is true, one token
* is returned for each run of delimiter characters, otherwise one
* token is returned per delimiter. Since surrogate pairs can be
* delimiters, the returned token might be two chars in length.</p>
* delimiters, the returned token might be two chars in length.
* @param str a string to be parsed.
* @param delim the delimiters.
* @param returndelims flag indicating whether to return the delimiters
@ -261,8 +254,8 @@ public final class StringTokenizer implements Enumeration<Object>
/**
* <p>Constructs a string tokenizer for the specified string. The
* characters in the delim argument are the delimiters for separating
* tokens.</p>
* <p>Delimiter characters themselves will not be treated as tokens.</p>
* tokens.
* <p>Delimiter characters themselves will not be treated as tokens.
* @param str a string to be parsed.
* @param delim the delimiters.
* @exception NullPointerException if str is null
@ -279,8 +272,8 @@ public final class StringTokenizer implements Enumeration<Object>
* The tokenizer uses the default delimiter set, which is
* " &#92;t&#92;n&#92;r&#92;f":
* the space character, the tab character, the newline character, the
* carriage-return character, and the form-feed character.</p>
* <p>Delimiter characters themselves will not be treated as tokens.</p>
* carriage-return character, and the form-feed character.
* <p>Delimiter characters themselves will not be treated as tokens.
* @param str a string to be parsed
* @exception NullPointerException if str is null
* @stable ICU 2.4

View File

@ -879,7 +879,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
* includes the given ID. An equivalency group contains zones
* that have the same GMT offset and rules.
*
* <p>The returned count includes the given ID; it is always >= 1
* <p>The returned count includes the given ID; it is always &gt;= 1
* for valid IDs. The given ID must be a system time zone. If it
* is not, returns zero.
* @param id a system time zone ID
@ -1134,7 +1134,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
* method returns <code>null</code>.
*
* <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/supplemental/zone_tzid.html">
* Zone-Tzid mapping data<a>. The mapping data is updated time to time. To get the latest changes,
* Zone-Tzid mapping data</a>. The mapping data is updated time to time. To get the latest changes,
* please read the ICU user guide section <a href="http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data">
* Updating the Time Zone Data</a>.
*
@ -1194,7 +1194,7 @@ abstract public class TimeZone implements Serializable, Cloneable, Freezable<Tim
* method returns <code>null</code>.
*
* <p>This implementation utilizes <a href="http://unicode.org/cldr/charts/supplemental/zone_tzid.html">
* Zone-Tzid mapping data<a>. The mapping data is updated time to time. To get the latest changes,
* Zone-Tzid mapping data</a>. The mapping data is updated time to time. To get the latest changes,
* please read the ICU user guide section <a href="http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data">
* Updating the Time Zone Data</a>.
*

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2007-2010, International Business Machines Corporation and *
* Copyright (C) 2007-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -162,7 +162,7 @@ public abstract class TimeZoneRule implements Serializable {
/**
* Returns if this <code>TimeZoneRule</code> has one or more start times.
*
* @return true if this <TimeZoneRule</code> has one or more start times.
* @return true if this <code>TimeZoneRule</code> has one or more start times.
*
* @stable ICU 3.8
*/

View File

@ -85,7 +85,7 @@ import com.ibm.icu.text.LocaleDisplayNames.DialectHandling;
* All ULocale constructors automatically normalize the locale id. To handle
* POSIX ids, <code>canonicalize</code> can be called to convert the id
* to canonical form, or the <code>canonicalInstance</code> factory method
* can be called.</p>
* can be called.
*
* <p>This class provides selectors {@link #VALID_LOCALE} and {@link
* #ACTUAL_LOCALE} intended for use in methods named
@ -93,10 +93,10 @@ import com.ibm.icu.text.LocaleDisplayNames.DialectHandling;
* including {@link com.ibm.icu.util.Calendar}, {@link
* com.ibm.icu.util.Currency}, {@link com.ibm.icu.text.UFormat},
* {@link com.ibm.icu.text.BreakIterator},
* <a href="../text/Collator.html" title="class in com.ibm.icu.text"><code>Collator</code></a>,
* {@link com.ibm.icu.text.Collator},
* {@link com.ibm.icu.text.DateFormatSymbols}, and {@link
* com.ibm.icu.text.DecimalFormatSymbols} and their subclasses, if
* any. Once an object of one of these classes has been created,
* any. Once an object of one of these classes has been created,
* <tt>getLocale()</tt> may be called on it to determine the valid and
* actual locale arrived at during the object's construction.
*
@ -804,7 +804,7 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
/**
* Compares two ULocale for ordering.
* <p><b>Note:</b> The order might change in future.</p>
* <p><b>Note:</b> The order might change in future.
*
* @param other the ULocale to be compared.
* @return a negative integer, zero, or a positive integer as this ULocale is less than, equal to, or greater
@ -3324,7 +3324,8 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
* to {@link ULocale.Builder#setLanguageTag} which throws an exception
* in this case.
*
* <p>The following <b>conversions</b> are performed:<ul>
* <p>The following <b>conversions</b> are performed:
* <ul>
*
* <li>The language code "und" is mapped to language "".
*
@ -3357,6 +3358,8 @@ public final class ULocale implements Serializable, Comparable<ULocale> {
* script to title case, country to upper case, variant to upper case,
* and extensions to lower case.
*
* </ul>
*
* <p>This implements the 'Language-Tag' production of BCP47, and
* so supports grandfathered (regular and irregular) as well as
* private use language tags. Stand alone private use tags are

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 2004-2015, International Business Machines Corporation and
* Copyright (C) 2004-2016, International Business Machines Corporation and
* others. All Rights Reserved.
*******************************************************************************
*/
@ -83,11 +83,11 @@ import com.ibm.icu.impl.SimpleCache;
* UResourceBundle.getBundleInstance("com.mycompany.resources.LocaleElements",
* "en_US", myClassLoader);
* </pre>
* <note>
* Please use pass a class loader for loading non-ICU resources. Java security does not
*
* <p>Note: Please use pass a class loader for loading non-ICU resources. Java security does not
* allow loading of resources across jar files. You must provide your class loader
* to load the resources
* </note>
* @stable ICU 3.0
* @author ram
*/

View File

@ -1,6 +1,6 @@
/*
*********************************************************************************
* Copyright (C) 2004-2014, International Business Machines Corporation and *
* Copyright (C) 2004-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*********************************************************************************
*
@ -22,30 +22,30 @@ import com.ibm.icu.math.BigDecimal;
* conversion back and forth between different systems.
*
* <p>Binary datetimes differ in a number of ways: the datatype, the unit,
* and the epoch (origin). We refer to these as time scales.</p>
* and the epoch (origin). We refer to these as time scales.
*
* <p>ICU implements a universal time scale that is similar to the
* .NET framework's System.DateTime. The universal time scale is a
* 64-bit integer that holds ticks since midnight, January 1st, 0001.
* (One tick is 100 nanoseconds.)
* Negative values are supported. This has enough range to guarantee that
* calculations involving dates around the present are safe.</p>
* calculations involving dates around the present are safe.
*
* <p>The universal time scale always measures time according to the
* proleptic Gregorian calendar. That is, the Gregorian calendar's
* leap year rules are used for all times, even before 1582 when it was
* introduced. (This is different from the default ICU calendar which
* switches from the Julian to the Gregorian calendar in 1582.
* See GregorianCalendar.setGregorianChange() and ucal_setGregorianChange().)</p>
* See GregorianCalendar.setGregorianChange() and ucal_setGregorianChange().)
*
* ICU provides conversion functions to and from all other major time
* scales, allowing datetimes in any time scale to be converted to the
* universal time scale, safely manipulated, and converted back to any other
* datetime time scale.</p>
* datetime time scale.
*
* <p>For more details and background, see the
* <a href="http://www.icu-project.org/userguide/universalTimeScale.html">Universal Time Scale</a>
* chapter in the ICU User Guide.</p>
* chapter in the ICU User Guide.
*
* @stable ICU 3.2
*/

View File

@ -1,6 +1,6 @@
/*
******************************************************************************
* Copyright (C) 1996-2010, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
******************************************************************************
*/
@ -8,16 +8,16 @@
package com.ibm.icu.util;
/**
* <p>Interface for enabling iteration over sets of &lt;int, Object>, where
* <p>Interface for enabling iteration over sets of &lt;int, Object&gt;, where
* int is the sorted integer index in ascending order, and Object its
* associated value.</p>
* associated value.
* <p>The ValueIterator allows iterations over integer indexes in the range
* of Integer.MIN_VALUE to Integer.MAX_VALUE inclusive. Implementations of
* ValueIterator should specify their own maximum subrange within the above
* range that is meaningful to its applications.</p>
* range that is meaningful to its applications.
* <p>Most implementations will be created by factory methods, such as the
* character name iterator in UCharacter.getNameIterator. See example below.
* </p>
*
* Example of use:<br>
* <pre>
* ValueIterator iterator = UCharacter.getNameIterator();
@ -38,7 +38,7 @@ public interface ValueIterator
/**
* <p>The return result container of each iteration. Stores the next
* integer index and its associated value Object.</p>
* integer index and its associated value Object.
* @stable ICU 2.6
*/
public static final class Element
@ -71,9 +71,9 @@ public interface ValueIterator
/**
* <p>Returns the next result for this iteration and returns
* true if we are not at the end of the iteration, false otherwise.</p>
* true if we are not at the end of the iteration, false otherwise.
* <p>If this returns a false, the contents of elements will not
* be updated.</p>
* be updated.
* @param element for storing the result index and value
* @return true if we are not at the end of the iteration, false otherwise.
* @see Element
@ -84,25 +84,25 @@ public interface ValueIterator
/**
* <p>Resets the iterator to start iterating from the integer index
* Integer.MIN_VALUE or X if a setRange(X, Y) has been called previously.
* </p>
*
* @stable ICU 2.6
*/
public void reset();
/**
* <p>Restricts the range of integers to iterate and resets the iteration
* to begin at the index argument start.</p>
* to begin at the index argument start.
* <p>If setRange(start, end) is not performed before next(element) is
* called, the iteration will start from the integer index
* Integer.MIN_VALUE and end at Integer.MAX_VALUE.</p>
* Integer.MIN_VALUE and end at Integer.MAX_VALUE.
* <p>
* If this range is set outside the meaningful range specified by the
* implementation, next(element) will always return false.
* </p>
*
* @param start first integer in the range to iterate
* @param limit one more than the last integer in the range
* @exception IllegalArgumentException thrown when attempting to set an
* illegal range. E.g limit <= start
* illegal range. E.g limit &lt;= start
* @stable ICU 2.6
*/
public void setRange(int start, int limit);

View File

@ -218,7 +218,7 @@ public final class VersionInfo implements Comparable<VersionInfo>
* @param version version String in the format of "major.minor.milli.micro"
* or "major.minor.milli" or "major.minor" or "major",
* where major, minor, milli, micro are non-negative numbers
* <= 255. If the trailing version numbers are
* &lt;= 255. If the trailing version numbers are
* not specified they are taken as 0s. E.g. Version "3.1" is
* equivalent to "3.1.0.0".
* @return an instance of VersionInfo with the argument version.
@ -263,11 +263,11 @@ public final class VersionInfo implements Comparable<VersionInfo>
/**
* Returns an instance of VersionInfo with the argument version.
* @param major major version, non-negative number <= 255.
* @param minor minor version, non-negative number <= 255.
* @param milli milli version, non-negative number <= 255.
* @param micro micro version, non-negative number <= 255.
* @exception IllegalArgumentException when either arguments are negative or > 255
* @param major major version, non-negative number &lt;= 255.
* @param minor minor version, non-negative number &lt;= 255.
* @param milli milli version, non-negative number &lt;= 255.
* @param micro micro version, non-negative number &lt;= 255.
* @exception IllegalArgumentException when either arguments are negative or &gt; 255
* @stable ICU 2.6
*/
public static VersionInfo getInstance(int major, int minor, int milli,
@ -295,11 +295,11 @@ public final class VersionInfo implements Comparable<VersionInfo>
/**
* Returns an instance of VersionInfo with the argument version.
* Equivalent to getInstance(major, minor, milli, 0).
* @param major major version, non-negative number <= 255.
* @param minor minor version, non-negative number <= 255.
* @param milli milli version, non-negative number <= 255.
* @param major major version, non-negative number &lt;= 255.
* @param minor minor version, non-negative number &lt;= 255.
* @param milli milli version, non-negative number &lt;= 255.
* @exception IllegalArgumentException when either arguments are
* negative or > 255
* negative or &gt; 255
* @stable ICU 2.6
*/
public static VersionInfo getInstance(int major, int minor, int milli)
@ -310,10 +310,10 @@ public final class VersionInfo implements Comparable<VersionInfo>
/**
* Returns an instance of VersionInfo with the argument version.
* Equivalent to getInstance(major, minor, 0, 0).
* @param major major version, non-negative number <= 255.
* @param minor minor version, non-negative number <= 255.
* @param major major version, non-negative number &lt;= 255.
* @param minor minor version, non-negative number &lt;= 255.
* @exception IllegalArgumentException when either arguments are
* negative or > 255
* negative or &gt; 255
* @stable ICU 2.6
*/
public static VersionInfo getInstance(int major, int minor)
@ -324,9 +324,9 @@ public final class VersionInfo implements Comparable<VersionInfo>
/**
* Returns an instance of VersionInfo with the argument version.
* Equivalent to getInstance(major, 0, 0, 0).
* @param major major version, non-negative number <= 255.
* @param major major version, non-negative number &lt;= 255.
* @exception IllegalArgumentException when either arguments are
* negative or > 255
* negative or &gt; 255
* @stable ICU 2.6
*/
public static VersionInfo getInstance(int major)

View File

@ -1,6 +1,6 @@
/*
*******************************************************************************
* Copyright (C) 1996-2014, International Business Machines Corporation and *
* Copyright (C) 1996-2016, International Business Machines Corporation and *
* others. All Rights Reserved. *
*******************************************************************************
*/
@ -17,18 +17,18 @@ import java.util.Map;
* To include a literal semicolon, prefix it with a backslash ('\').
* Unicode Pattern_White_Space is ignored.
* If the first non-blank character on a line is '#',
* the entire line is ignored as a comment. </p>
* the entire line is ignored as a comment.
*
* <p>Each set of rules consists of two groups, one forward, and one
* reverse. This is a convention that is not enforced; rules for one
* direction may be omitted, with the result that translations in
* that direction will not modify the source text. In addition,
* bidirectional forward-reverse rules may be specified for
* symmetrical transformations.</p>
* symmetrical transformations.
*
* <p><b>Rule syntax</b> </p>
* <p><b>Rule syntax</b>
*
* <p>Rule statements take one of the following forms: </p>
* <p>Rule statements take one of the following forms:
*
* <dl>
* <dt><code>$alefmadda=\u0622;</code></dt>
@ -82,7 +82,6 @@ import java.util.Map;
* &quot;<code>abc{def}</code>&quot;. Another example is &quot;<code>{123}456</code>&quot;
* (or &quot;<code>123}456</code>&quot;) in which the literal
* pattern &quot;<code>123</code>&quot; must be followed by &quot;<code>456</code>&quot;.
* </p>
*
* <p>The output string of a forward or reverse rule consists of
* characters to replace the literal pattern characters. If the
@ -92,46 +91,46 @@ import java.util.Map;
* next replacement, if any, will be applied. The cursor is usually
* placed within the replacement text; however, it can actually be
* placed into the precending or following context by using the
* special character '<code>@</code>'. Examples:</p>
* special character '<code>@</code>'. Examples:
*
* <blockquote>
* <p><code>a {foo} z &gt; | @ bar; # foo -&gt; bar, move cursor
* before a<br>
* {foo} xyz &gt; bar @@|; #&nbsp;foo -&gt; bar, cursor between
* y and z</code></p>
* y and z</code>
* </blockquote>
*
* <p><b>UnicodeSet</b></p>
* <p><b>UnicodeSet</b>
*
* <p><code>UnicodeSet</code> patterns may appear anywhere that
* makes sense. They may appear in variable definitions.
* Contrariwise, <code>UnicodeSet</code> patterns may themselves
* contain variable references, such as &quot;<code>$a=[a-z];$not_a=[^$a]</code>&quot;,
* or &quot;<code>$range=a-z;$ll=[$range]</code>&quot;.</p>
* or &quot;<code>$range=a-z;$ll=[$range]</code>&quot;.
*
* <p><code>UnicodeSet</code> patterns may also be embedded directly
* into rule strings. Thus, the following two rules are equivalent:</p>
* into rule strings. Thus, the following two rules are equivalent:
*
* <blockquote>
* <p><code>$vowel=[aeiou]; $vowel&gt;'*'; # One way to do this<br>
* [aeiou]&gt;'*';
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#
* Another way</code></p>
* Another way</code>
* </blockquote>
*
* <p>See {@link UnicodeSet} for more documentation and examples.</p>
* <p>See {@link UnicodeSet} for more documentation and examples.
*
* <p><b>Segments</b></p>
* <p><b>Segments</b>
*
* <p>Segments of the input string can be matched and copied to the
* output string. This makes certain sets of rules simpler and more
* general, and makes reordering possible. For example:</p>
* general, and makes reordering possible. For example:
*
* <blockquote>
* <p><code>([a-z]) &gt; $1 $1;
* &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#
* double lowercase letters<br>
* ([:Lu:]) ([:Ll:]) &gt; $2 $1; # reverse order of Lu-Ll pairs</code></p>
* ([:Lu:]) ([:Ll:]) &gt; $2 $1; # reverse order of Lu-Ll pairs</code>
* </blockquote>
*
* <p>The segment of the input string to be copied is delimited by
@ -139,12 +138,12 @@ import java.util.Map;
* nine segments may be defined. Segments may not overlap. In the
* output string, &quot;<code>$1</code>&quot; through &quot;<code>$9</code>&quot;
* represent the input string segments, in left-to-right order of
* definition.</p>
* definition.
*
* <p><b>Anchors</b></p>
* <p><b>Anchors</b>
*
* <p>Patterns can be anchored to the beginning or the end of the text. This is done with the
* special characters '<code>^</code>' and '<code>$</code>'. For example:</p>
* special characters '<code>^</code>' and '<code>$</code>'. For example:
*
* <blockquote>
* <p><code>^ a&nbsp;&nbsp; &gt; 'BEG_A'; &nbsp;&nbsp;# match 'a' at start of text<br>
@ -152,112 +151,111 @@ import java.util.Map;
* of 'a'<br>
* &nbsp; z $ &gt; 'END_Z'; &nbsp;&nbsp;# match 'z' at end of text<br>
* &nbsp; z&nbsp;&nbsp; &gt; 'Z';&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # match other instances
* of 'z'</code></p>
* of 'z'</code>
* </blockquote>
*
* <p>It is also possible to match the beginning or the end of the text using a <code>UnicodeSet</code>.
* This is done by including a virtual anchor character '<code>$</code>' at the end of the
* set pattern. Although this is usually the match chafacter for the end anchor, the set will
* match either the beginning or the end of the text, depending on its placement. For
* example:</p>
* example:
*
* <blockquote>
* <p><code>$x = [a-z$]; &nbsp;&nbsp;# match 'a' through 'z' OR anchor<br>
* $x 1&nbsp;&nbsp;&nbsp; &gt; 2;&nbsp;&nbsp; # match '1' after a-z or at the start<br>
* &nbsp;&nbsp; 3 $x &gt; 4; &nbsp;&nbsp;# match '3' before a-z or at the end</code></p>
* &nbsp;&nbsp; 3 $x &gt; 4; &nbsp;&nbsp;# match '3' before a-z or at the end</code>
* </blockquote>
*
* <p><b>Example</b> </p>
* <p><b>Example</b>
*
* <p>The following example rules illustrate many of the features of
* the rule language. </p>
* the rule language.
*
* <table border="0" cellpadding="4">
* <tr>
* <td valign="top">Rule 1.</td>
* <td valign="top" nowrap><code>abc{def}&gt;x|y</code></td>
* <td style="vertical-align: top;">Rule 1.</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>abc{def}&gt;x|y</code></td>
* </tr>
* <tr>
* <td valign="top">Rule 2.</td>
* <td valign="top" nowrap><code>xyz&gt;r</code></td>
* <td style="vertical-align: top;">Rule 2.</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>xyz&gt;r</code></td>
* </tr>
* <tr>
* <td valign="top">Rule 3.</td>
* <td valign="top" nowrap><code>yz&gt;q</code></td>
* <td style="vertical-align: top;">Rule 3.</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>yz&gt;q</code></td>
* </tr>
* </table>
*
* <p>Applying these rules to the string &quot;<code>adefabcdefz</code>&quot;
* yields the following results: </p>
* yields the following results:
*
* <table border="0" cellpadding="4">
* <tr>
* <td valign="top" nowrap><code>|adefabcdefz</code></td>
* <td valign="top">Initial state, no rules match. Advance
* <td style="vertical-align: top; write-space: nowrap;"><code>|adefabcdefz</code></td>
* <td style="vertical-align: top;">Initial state, no rules match. Advance
* cursor.</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>a|defabcdefz</code></td>
* <td valign="top">Still no match. Rule 1 does not match
* <td style="vertical-align: top; write-space: nowrap;"><code>a|defabcdefz</code></td>
* <td style="vertical-align: top;">Still no match. Rule 1 does not match
* because the preceding context is not present.</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>ad|efabcdefz</code></td>
* <td valign="top">Still no match. Keep advancing until
* <td style="vertical-align: top; write-space: nowrap;"><code>ad|efabcdefz</code></td>
* <td style="vertical-align: top;">Still no match. Keep advancing until
* there is a match...</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>ade|fabcdefz</code></td>
* <td valign="top">...</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>ade|fabcdefz</code></td>
* <td style="vertical-align: top;">...</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adef|abcdefz</code></td>
* <td valign="top">...</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>adef|abcdefz</code></td>
* <td style="vertical-align: top;">...</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adefa|bcdefz</code></td>
* <td valign="top">...</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>adefa|bcdefz</code></td>
* <td style="vertical-align: top;">...</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adefab|cdefz</code></td>
* <td valign="top">...</td>
* <td style="vertical-align: top; write-space: nowrap;"><code>adefab|cdefz</code></td>
* <td style="vertical-align: top;">...</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adefabc|defz</code></td>
* <td valign="top">Rule 1 matches; replace &quot;<code>def</code>&quot;
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabc|defz</code></td>
* <td style="vertical-align: top;">Rule 1 matches; replace &quot;<code>def</code>&quot;
* with &quot;<code>xy</code>&quot; and back up the cursor
* to before the '<code>y</code>'.</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adefabcx|yz</code></td>
* <td valign="top">Although &quot;<code>xyz</code>&quot; is
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabcx|yz</code></td>
* <td style="vertical-align: top;">Although &quot;<code>xyz</code>&quot; is
* present, rule 2 does not match because the cursor is
* before the '<code>y</code>', not before the '<code>x</code>'.
* Rule 3 does match. Replace &quot;<code>yz</code>&quot;
* with &quot;<code>q</code>&quot;.</td>
* </tr>
* <tr>
* <td valign="top" nowrap><code>adefabcxq|</code></td>
* <td valign="top">The cursor is at the end;
* <td style="vertical-align: top; write-space: nowrap;"><code>adefabcxq|</code></td>
* <td style="vertical-align: top;">The cursor is at the end;
* transliteration is complete.</td>
* </tr>
* </table>
*
* <p>The order of rules is significant. If multiple rules may match
* at some point, the first matching rule is applied. </p>
* at some point, the first matching rule is applied.
*
* <p>Forward and reverse rules may have an empty output string.
* Otherwise, an empty left or right hand side of any statement is a
* syntax error. </p>
* syntax error.
*
* <p>Single quotes are used to quote any character other than a
* digit or letter. To specify a single quote itself, inside or
* outside of quotes, use two single quotes in a row. For example,
* the rule &quot;<code>'&gt;'&gt;o''clock</code>&quot; changes the
* string &quot;<code>&gt;</code>&quot; to the string &quot;<code>o'clock</code>&quot;.
* </p>
*
* <p><b>Notes</b> </p>
* <p><b>Notes</b>
*
* <p>While a RuleBasedTransliterator is being built, it checks that
* the rules are added in proper order. For example, if the rule
@ -265,9 +263,9 @@ import java.util.Map;
* then the second rule will throw an exception. The reason is that
* the second rule can never be triggered, since the first rule
* always matches anything it matches. In other words, the first
* rule <em>masks</em> the second rule. </p>
* rule <em>masks</em> the second rule.
*
* <p>Copyright (c) IBM Corporation 1999-2000. All rights reserved.</p>
* <p>Copyright (c) IBM Corporation 1999-2000. All rights reserved.
*
* @author Alan Liu
* @internal

View File

@ -123,7 +123,7 @@ import com.ibm.icu.util.UResourceBundle;
*
* <p>
* Pairs of transliterators may be inverses of one another. For example, if transliterator <b>A</b> transliterates
* characters by incrementing their Unicode value (so "abc" -> "def"), and transliterator <b>B</b> decrements character
* characters by incrementing their Unicode value (so "abc" -&gt; "def"), and transliterator <b>B</b> decrements character
* values, then <b>A</b> is an inverse of <b>B</b> and vice versa. If we compose <b>A</b> with <b>B</b> in a compound
* transliterator, the result is the indentity transliterator, that is, a transliterator that does not change its input
* text.
@ -134,13 +134,13 @@ import com.ibm.icu.util.UResourceBundle;
* two transliterators: <b>AB</b>, which transliterates the character 'A' to 'B', and <b>BA</b>, which transliterates
* 'B' to 'A'. It might seem that these are exact inverses, since
*
* <blockquote>"A" x <b>AB</b> -> "B"<br>
* "B" x <b>BA</b> -> "A"</blockquote>
* <blockquote>"A" x <b>AB</b> -&gt; "B"<br>
* "B" x <b>BA</b> -&gt; "A"</blockquote>
*
* where 'x' represents transliteration. However,
*
* <blockquote>"ABCD" x <b>AB</b> -> "BBCD"<br>
* "BBCD" x <b>BA</b> -> "AACD"</blockquote>
* <blockquote>"ABCD" x <b>AB</b> -&gt; "BBCD"<br>
* "BBCD" x <b>BA</b> -&gt; "AACD"</blockquote>
*
* so <b>AB</b> composed with <b>BA</b> is not the identity. Nonetheless, <b>BA</b> may be usefully considered to be
* <b>AB</b>'s inverse, and it is on this basis that <b>AB</b><code>.getInverse()</code> could legitimately return
@ -256,7 +256,7 @@ public abstract class Transliterator implements StringTransform {
* structure will be modified. See the field descriptions for
* details.
*
* <p>contextStart <= start <= limit <= contextLimit
* <p>contextStart &lt;= start &lt;= limit &lt;= contextLimit
*
* <p>Note: All index values in this structure must be at code point
* boundaries. That is, none of them may occur between two code units
@ -509,10 +509,10 @@ public abstract class Transliterator implements StringTransform {
* Transliterates a segment of a string, with optional filtering.
*
* @param text the string to be transliterated
* @param start the beginning index, inclusive; <code>0 <= start
* <= limit</code>.
* @param limit the ending index, exclusive; <code>start <= limit
* <= text.length()</code>.
* @param start the beginning index, inclusive; <code>0 &lt;= start
* &lt;= limit</code>.
* @param limit the ending index, exclusive; <code>start &lt;= limit
* &lt;= text.length()</code>.
* @return The new limit index. The text previously occupying <code>[start,
* limit)</code> has been transliterated, possibly to a string of a different
* length, at <code>[start, </code><em>new-limit</em><code>)</code>, where
@ -1480,7 +1480,7 @@ public abstract class Transliterator implements StringTransform {
* Returns a rule string for this transliterator. This is
* a non-overrideable base class implementation that subclasses
* may call. It simply munges the ID into the correct format,
* that is, "foo" => "::foo".
* that is, "foo" =&gt; "::foo".
* @param escapeUnprintable if true, then unprintable characters
* will be converted to escape form backslash-'u' or
* backslash-'U'.
@ -1582,12 +1582,12 @@ public abstract class Transliterator implements StringTransform {
* <p>Warning. You might expect an empty filter to always produce an empty target.
* However, consider the following:
* <pre>
* [Pp]{}[\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB] > \';
* [Pp]{}[\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB] &gt; \';
* </pre>
* With a filter of [], you still get some elements in the target set, because this rule will still match. It could
* be recast to the following if it were important.
* <pre>
* [Pp]{([\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB])} > \' | $1;
* [Pp]{([\u03A3\u03C2\u03C3\u03F7\u03F8\u03FA\u03FB])} &gt; \' | $1;
* </pre>
* @see #getTargetSet
* @stable ICU 2.2
@ -1609,10 +1609,10 @@ public abstract class Transliterator implements StringTransform {
* For example, suppose we have:
* <pre>
* Global FILTER = [ax]
* a > b;
* a &gt; b;
* :: NULL;
* b > c;
* x > d;
* b &gt; c;
* x &gt; d;
* </pre>
* While the filter just allows a and x, b is an intermediate result, which could produce c. So the source and target sets
* cannot be gathered independently. What we have to do is filter the sources for the first transliterator according to
@ -1621,8 +1621,8 @@ public abstract class Transliterator implements StringTransform {
* <p>There is another complication:
* <pre>
* Global FILTER = [ax]
* a > |b;
* b > c;
* a &gt;|b;
* b &gt;c;
* </pre>
* Even though b would be filtered from the input, whenever we have a backup, it could be part of the input. So ideally we will
* change the global filter as we go.
@ -1744,13 +1744,12 @@ public abstract class Transliterator implements StringTransform {
}
/**
* Register a Transliterator object with the given ID.
* Register a Transliterator object.
*
* <p>Because ICU may choose to cache Transliterator objects internally, this must
* be called at application startup, prior to any calls to
* Transliterator.getInstance to avoid undefined behavior.
*
* @param ID the ID of this transliterator
* @param trans the Transliterator object
*/
static void registerInstance(Transliterator trans, boolean visible) {
@ -1779,10 +1778,10 @@ public abstract class Transliterator implements StringTransform {
* example, calling registerSpecialInverse("NFC", "NFD", true) causes
* Transliterator to form the following inverse relationships:
*
* <pre>NFC => NFD
* Any-NFC => Any-NFD
* NFD => NFC
* Any-NFD => Any-NFC</pre>
* <pre>NFC =&gt; NFD
* Any-NFC =&gt; Any-NFD
* NFD =&gt; NFC
* Any-NFD =&gt; Any-NFC</pre>
*
* (Without the special inverse registration, the inverse of NFC
* would be NFC-Any.) Note that NFD is shorthand for Any-NFD, but
@ -1795,16 +1794,16 @@ public abstract class Transliterator implements StringTransform {
* factories or classes.
*
* <p>Only the targets are specified. Special inverses always
* have the form Any-Target1 <=> Any-Target2. The target should
* have the form Any-Target1 &lt;=&gt; Any-Target2. The target should
* have canonical casing (the casing desired to be produced when
* an inverse is formed) and should contain no whitespace or other
* extraneous characters.
*
* @param target the target against which to register the inverse
* @param inverseTarget the inverse of target, that is
* Any-target.getInverse() => Any-inverseTarget
* Any-target.getInverse() =&gt; Any-inverseTarget
* @param bidirectional if true, register the reverse relation
* as well, that is, Any-inverseTarget.getInverse() => Any-target
* as well, that is, Any-inverseTarget.getInverse() =&gt; Any-target
*/
static void registerSpecialInverse(String target,
String inverseTarget,