ICU-20795 BRS65 ICU4J API status promotion
- Updating API status version for ICU4J 65 release
- Fixed a few minor API doc issues in DecimalFormat and LocaleMatcher
- Update ICU4J API change report
diff --git a/icu4j/APIChangeReport.html b/icu4j/APIChangeReport.html
index f22db68..31795c3 100644
--- a/icu4j/APIChangeReport.html
+++ b/icu4j/APIChangeReport.html
@@ -4,271 +4,244 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- © 2019 and later: Unicode, Inc. and others. -->
<!-- License & terms of use: http://www.unicode.org/copyright.html#License -->
-<title>ICU4J API Comparison: ICU4J 63.1 with ICU4J 64.2</title>
+<title>ICU4J API Comparison: ICU4J 64.2 with ICU4J 65.1</title>
</head>
<body>
-<h1>ICU4J API Comparison: ICU4J 63.1 with ICU4J 64.2</h1>
+<h1>ICU4J API Comparison: ICU4J 64.2 with ICU4J 65.1</h1>
<hr/>
-<h2>Removed from ICU4J 63.1</h2>
-
-<h3>Package com.ibm.icu.number</h3>
-<ul>
-<li><span style='color:gray'>(deprecated)</span> public abstract class <i>CurrencyRounder</i></li>
-<li><span style='color:gray'>(deprecated)</span> public abstract class <i>FractionRounder</i></li>
-<li><span style='color:gray'>(deprecated)</span> public abstract class <i>Rounder</i></li>
-FormattedNumber
-<ul>
-<li><span style='color:gray'>(deprecated)</span> public java.text.AttributedCharacterIterator <i>getFieldIterator</i>()</li>
-<li><span style='color:gray'>(deprecated)</span> public void <i>populateFieldPosition</i>(java.text.FieldPosition)</li>
-</ul>
-NumberFormatterSettings
-<ul>
-<li><span style='color:gray'>(deprecated)</span> public T extends NumberFormatterSettings<?> <i>rounding</i>(Precision)</li>
-</ul>
-Precision
-<ul>
-<li><span style='color:gray'>(deprecated)</span> public static Precision <i>fixedDigits</i>(int)</li>
-<li><span style='color:gray'>(deprecated)</span> public static Precision <i>maxDigits</i>(int)</li>
-<li><span style='color:gray'>(deprecated)</span> public static Precision <i>minDigits</i>(int)</li>
-<li><span style='color:gray'>(deprecated)</span> public static Precision <i>minMaxDigits</i>(int, int)</li>
-<li><span style='color:gray'>(deprecated)</span> public Precision <i>withMode</i>(java.math.RoundingMode)</li>
-</ul>
-</ul>
+<h2>Removed from ICU4J 64.2</h2>
<h3>Package com.ibm.icu.util</h3>
<ul>
-CharsTrie
+LocaleMatcher
<ul>
-<li><span style='color:green'>(stable)</span> public java.lang.Object <i>clone</i>()</li>
+<li><span style='color:green'>(stable)</span> public ULocale <i>getBestMatch</i>(LocalePriorityList)</li>
</ul>
</ul>
<hr/>
-<h2>Deprecated or Obsoleted in ICU4J 64.2</h2>
-
-<h3>Package com.ibm.icu.text</h3>
-<ul>
-BreakIterator
-<ul>
-<li><span style='color:gray'>(deprecated)</span> public static final int KIND_TITLE</li>
-<li><span style='color:gray'>(deprecated)</span> public static BreakIterator <i>getTitleInstance</i>()</li>
-<li><span style='color:gray'>(deprecated)</span> public static BreakIterator <i>getTitleInstance</i>(ULocale)</li>
-<li><span style='color:gray'>(deprecated)</span> public static BreakIterator <i>getTitleInstance</i>(java.util.Locale)</li>
-</ul>
-</ul>
-
-
-<hr/>
-<h2>Changed in ICU4J 64.2 (old, new)</h2>
-
-<h3>Package com.ibm.icu.number</h3>
-<ul>
-<li> <span style='color:orange'>(draft)</span> public class <i>FormattedNumber</i> extends java.lang.Object</br>
-<span style='color:orange'>(draft)</span> public class <i>FormattedNumber</i> extends java.lang.Object implements com.ibm.icu.text.FormattedValue</li>
-<li> <span style='color:orange'>(draft)</span> public class <i>FormattedNumberRange</i> extends java.lang.Object</br>
-<span style='color:orange'>(draft)</span> public class <i>FormattedNumberRange</i> extends java.lang.Object implements com.ibm.icu.text.FormattedValue</li>
-</ul>
+<h2>Deprecated or Obsoleted in ICU4J 65.1</h2>
<h3>Package com.ibm.icu.util</h3>
<ul>
-BytesTrie
+LocaleMatcher
<ul>
-<li> <span style='color:green'>(stable)</span> public java.lang.Object <i>clone</i>()</br>
-<span style='color:green'>(stable)</span> public com.ibm.icu.util.BytesTrie <i>clone</i>()</li>
+<li><span style='color:gray'>(deprecated)</span> public double <i>match</i>(ULocale, ULocale, ULocale, ULocale)</li>
</ul>
</ul>
<hr/>
-<h2>Promoted to stable in ICU4J 64.2</h2>
-
-<h3>Package com.ibm.icu.text</h3>
-<ul>
-<li><span style='color:green'>(stable)</span> public static enum <i>DateTimePatternGenerator.DisplayWidth</i></li>
-CurrencyDisplayNames
-<ul>
-<li><span style='color:green'>(stable)</span> public abstract java.lang.String <i>getNarrowSymbol</i>(java.lang.String)</li>
-</ul>
-DateTimePatternGenerator
-<ul>
-<li><span style='color:green'>(stable)</span> public java.lang.String <i>getFieldDisplayName</i>(int, DateTimePatternGenerator.DisplayWidth)</li>
-</ul>
-DateTimePatternGenerator.DisplayWidth
-<ul>
-<li><span style='color:green'>(stable)</span> public static final DateTimePatternGenerator.DisplayWidth ABBREVIATED</li>
-<li><span style='color:green'>(stable)</span> public static final DateTimePatternGenerator.DisplayWidth NARROW</li>
-<li><span style='color:green'>(stable)</span> public static final DateTimePatternGenerator.DisplayWidth WIDE</li>
-</ul>
-</ul>
-
-<h3>Package com.ibm.icu.util</h3>
-<ul>
-Currency
-<ul>
-<li><span style='color:green'>(stable)</span> public static final int NARROW_SYMBOL_NAME</li>
-</ul>
-</ul>
-
+<h2>Changed in ICU4J 65.1 (old, new)</h2>
+<p>(no API changed)</p>
<hr/>
-<h2>Added in ICU4J 64.2</h2>
+<h2>Promoted to stable in ICU4J 65.1</h2>
<h3>Package com.ibm.icu.lang</h3>
<ul>
-UCharacter.UnicodeBlock
-<ul>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS</li>
-<li><span style='color:green'>(stable)</span> public static final int EGYPTIAN_HIEROGLYPH_FORMAT_CONTROLS_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock ELYMAIC</li>
-<li><span style='color:green'>(stable)</span> public static final int ELYMAIC_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock NANDINAGARI</li>
-<li><span style='color:green'>(stable)</span> public static final int NANDINAGARI_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock NYIAKENG_PUACHUE_HMONG</li>
-<li><span style='color:green'>(stable)</span> public static final int NYIAKENG_PUACHUE_HMONG_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock OTTOMAN_SIYAQ_NUMBERS</li>
-<li><span style='color:green'>(stable)</span> public static final int OTTOMAN_SIYAQ_NUMBERS_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock SMALL_KANA_EXTENSION</li>
-<li><span style='color:green'>(stable)</span> public static final int SMALL_KANA_EXTENSION_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A</li>
-<li><span style='color:green'>(stable)</span> public static final int SYMBOLS_AND_PICTOGRAPHS_EXTENDED_A_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock TAMIL_SUPPLEMENT</li>
-<li><span style='color:green'>(stable)</span> public static final int TAMIL_SUPPLEMENT_ID</li>
-<li><span style='color:green'>(stable)</span> public static final UCharacter.UnicodeBlock WANCHO</li>
-<li><span style='color:green'>(stable)</span> public static final int WANCHO_ID</li>
-</ul>
-UScript
-<ul>
-<li><span style='color:green'>(stable)</span> public static final int ELYMAIC</li>
-<li><span style='color:green'>(stable)</span> public static final int NANDINAGARI</li>
-<li><span style='color:green'>(stable)</span> public static final int NYIAKENG_PUACHUE_HMONG</li>
-<li><span style='color:green'>(stable)</span> public static final int WANCHO</li>
-</ul>
+<li><span style='color:green'>(stable)</span> public final class <i>CharacterProperties</i></li>
</ul>
<h3>Package com.ibm.icu.number</h3>
<ul>
-FormattedNumber
+<li><span style='color:green'>(stable)</span> public class <i>CompactNotation</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>CurrencyPrecision</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>FormattedNumber</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>FormattedNumberRange</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>FractionPrecision</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>IntegerWidth</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>LocalizedNumberFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>LocalizedNumberRangeFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>Notation</i></li>
+<li><span style='color:green'>(stable)</span> public final class <i>NumberFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>NumberFormatterSettings</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>NumberRangeFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>NumberRangeFormatterSettings</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>Precision</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>Scale</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>ScientificNotation</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>SimpleNotation</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>SkeletonSyntaxException</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>UnlocalizedNumberFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>UnlocalizedNumberRangeFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberFormatter.DecimalSeparatorDisplay</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberFormatter.GroupingStrategy</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberFormatter.SignDisplay</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberFormatter.UnitWidth</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberRangeFormatter.RangeCollapse</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberRangeFormatter.RangeIdentityFallback</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>NumberRangeFormatter.RangeIdentityResult</i></li>
+NumberFormatter.DecimalSeparatorDisplay
<ul>
-<li><span style='color:orange'>(draft)</span> public char <i>charAt</i>(int)</li>
-<li><span style='color:orange'>(draft)</span> public int <i>length</i>()</li>
-<li><span style='color:orange'>(draft)</span> public boolean <i>nextPosition</i>(ConstrainedFieldPosition)</li>
-<li><span style='color:orange'>(draft)</span> public java.lang.CharSequence <i>subSequence</i>(int, int)</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.DecimalSeparatorDisplay ALWAYS</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.DecimalSeparatorDisplay AUTO</li>
</ul>
-FormattedNumberRange
+NumberFormatter.GroupingStrategy
<ul>
-<li><span style='color:orange'>(draft)</span> public char <i>charAt</i>(int)</li>
-<li><span style='color:orange'>(draft)</span> public int <i>length</i>()</li>
-<li><span style='color:orange'>(draft)</span> public boolean <i>nextPosition</i>(ConstrainedFieldPosition)</li>
-<li><span style='color:orange'>(draft)</span> public java.lang.CharSequence <i>subSequence</i>(int, int)</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.GroupingStrategy AUTO</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.GroupingStrategy MIN2</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.GroupingStrategy OFF</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.GroupingStrategy ON_ALIGNED</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.GroupingStrategy THOUSANDS</li>
+</ul>
+NumberFormatter.SignDisplay
+<ul>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay ACCOUNTING</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay ACCOUNTING_ALWAYS</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay ACCOUNTING_EXCEPT_ZERO</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay ALWAYS</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay AUTO</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay EXCEPT_ZERO</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.SignDisplay NEVER</li>
+</ul>
+NumberFormatter.UnitWidth
+<ul>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.UnitWidth FULL_NAME</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.UnitWidth HIDDEN</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.UnitWidth ISO_CODE</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.UnitWidth NARROW</li>
+<li><span style='color:green'>(stable)</span> public static final NumberFormatter.UnitWidth SHORT</li>
+</ul>
+NumberRangeFormatter.RangeCollapse
+<ul>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeCollapse ALL</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeCollapse AUTO</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeCollapse NONE</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeCollapse UNIT</li>
+</ul>
+NumberRangeFormatter.RangeIdentityFallback
+<ul>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityFallback APPROXIMATELY_OR_SINGLE_VALUE</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityFallback RANGE</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityFallback SINGLE_VALUE</li>
+</ul>
+NumberRangeFormatter.RangeIdentityResult
+<ul>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityResult EQUAL_AFTER_ROUNDING</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityResult EQUAL_BEFORE_ROUNDING</li>
+<li><span style='color:green'>(stable)</span> public static final NumberRangeFormatter.RangeIdentityResult NOT_EQUAL</li>
</ul>
</ul>
<h3>Package com.ibm.icu.text</h3>
<ul>
-<li><span style='color:orange'>(draft)</span> public class <i>ConstrainedFieldPosition</i></li>
-<li><span style='color:orange'>(draft)</span> public static final class <i>DateIntervalFormat.FormattedDateInterval</i></li>
-<li><span style='color:orange'>(draft)</span> public static final class <i>DateIntervalFormat.SpanField</i></li>
-<li><span style='color:orange'>(draft)</span> public interface <i>FormattedValue</i></li>
-<li><span style='color:orange'>(draft)</span> public static class <i>RelativeDateTimeFormatter.Field</i></li>
-<li><span style='color:orange'>(draft)</span> public static class <i>RelativeDateTimeFormatter.FormattedRelativeDateTime</i></li>
-<li><span style='color:orange'>(draft)</span> public static abstract class <i>UFormat.SpanField</i></li>
-DateFormatSymbols
-<ul>
-<li><span style='color:orange'>(draft)</span> public java.lang.String[] <i>getNarrowEras</i>()</li>
-<li><span style='color:orange'>(draft)</span> public void <i>setNarrowEras</i>(java.lang.String[])</li>
-</ul>
-DateIntervalFormat
-<ul>
-<li><span style='color:orange'>(draft)</span> public DateIntervalFormat.FormattedDateInterval <i>formatToValue</i>(Calendar, Calendar)</li>
-<li><span style='color:orange'>(draft)</span> public DateIntervalFormat.FormattedDateInterval <i>formatToValue</i>(DateInterval)</li>
-</ul>
DecimalFormat
<ul>
-<li><span style='color:orange'>(draft)</span> public synchronized int <i>getMinimumGroupingDigits</i>()</li>
-<li><span style='color:orange'>(draft)</span> public synchronized boolean <i>isParseCaseSensitive</i>()</li>
-<li><span style='color:orange'>(draft)</span> public synchronized boolean <i>isParseNoExponent</i>()</li>
-<li><span style='color:orange'>(draft)</span> public synchronized boolean <i>isSignAlwaysShown</i>()</li>
-<li><span style='color:orange'>(draft)</span> public synchronized void <i>setMinimumGroupingDigits</i>(int)</li>
-<li><span style='color:orange'>(draft)</span> public synchronized void <i>setParseCaseSensitive</i>(boolean)</li>
-<li><span style='color:orange'>(draft)</span> public synchronized void <i>setParseNoExponent</i>(boolean)</li>
-<li><span style='color:orange'>(draft)</span> public synchronized void <i>setSignAlwaysShown</i>(boolean)</li>
+<li><span style='color:green'>(stable)</span> public LocalizedNumberFormatter <i>toNumberFormatter</i>()</li>
</ul>
-NumberFormat.Field
+SpoofChecker
<ul>
-<li><span style='color:orange'>(draft)</span> public static final NumberFormat.Field COMPACT</li>
-<li><span style='color:orange'>(draft)</span> public static final NumberFormat.Field MEASURE_UNIT</li>
-</ul>
-PluralRules
-<ul>
-<li><span style='color:orange'>(draft)</span> public java.lang.String <i>select</i>(FormattedNumber)</li>
-</ul>
-RelativeDateTimeFormatter
-<ul>
-<li><span style='color:orange'>(draft)</span> public RelativeDateTimeFormatter.FormattedRelativeDateTime <i>formatNumericToValue</i>(double, RelativeDateTimeFormatter.RelativeDateTimeUnit)</li>
-<li><span style='color:orange'>(draft)</span> public RelativeDateTimeFormatter.FormattedRelativeDateTime <i>formatToValue</i>(RelativeDateTimeFormatter.Direction, RelativeDateTimeFormatter.AbsoluteUnit)</li>
-<li><span style='color:orange'>(draft)</span> public RelativeDateTimeFormatter.FormattedRelativeDateTime <i>formatToValue</i>(double, RelativeDateTimeFormatter.Direction, RelativeDateTimeFormatter.RelativeUnit)</li>
-<li><span style='color:orange'>(draft)</span> public RelativeDateTimeFormatter.FormattedRelativeDateTime <i>formatToValue</i>(double, RelativeDateTimeFormatter.RelativeDateTimeUnit)</li>
-</ul>
-RelativeDateTimeFormatter.AbsoluteUnit
-<ul>
-<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit QUARTER</li>
+<li><span style='color:green'>(stable)</span> public static final int HIDDEN_OVERLAY</li>
</ul>
</ul>
<h3>Package com.ibm.icu.util</h3>
<ul>
-BytesTrie
+<li><span style='color:green'>(stable)</span> public abstract class <i>CodePointMap</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointMap.Range</i></li>
+<li><span style='color:green'>(stable)</span> public class <i>CodePointMap.StringIterator</i></li>
+<li><span style='color:green'>(stable)</span> public static interface <i>CodePointMap.ValueFilter</i></li>
+<li><span style='color:green'>(stable)</span> public abstract class <i>CodePointTrie</i></li>
+<li><span style='color:green'>(stable)</span> public static abstract class <i>CodePointTrie.Fast</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Fast16</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Fast32</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Fast8</i></li>
+<li><span style='color:green'>(stable)</span> public static abstract class <i>CodePointTrie.Small</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Small16</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Small32</i></li>
+<li><span style='color:green'>(stable)</span> public static final class <i>CodePointTrie.Small8</i></li>
+<li><span style='color:green'>(stable)</span> public final class <i>MutableCodePointTrie</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>CodePointMap.RangeOption</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>CodePointTrie.Type</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>CodePointTrie.ValueWidth</i></li>
+CodePointMap.RangeOption
<ul>
-<li><span style='color:orange'>(draft)</span> public <i>BytesTrie</i>(BytesTrie)</li>
-<li><span style='color:orange'>(draft)</span> public long <i>getState64</i>()</li>
-<li><span style='color:orange'>(draft)</span> public BytesTrie <i>resetToState64</i>(long)</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointMap.RangeOption FIXED_ALL_SURROGATES</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointMap.RangeOption FIXED_LEAD_SURROGATES</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointMap.RangeOption NORMAL</li>
</ul>
-CharsTrie
+CodePointTrie.Type
<ul>
-<li><span style='color:orange'>(draft)</span> public <i>CharsTrie</i>(CharsTrie)</li>
-<li><span style='color:green'>(stable)</span> public CharsTrie <i>clone</i>()</li>
-<li><span style='color:orange'>(draft)</span> public long <i>getState64</i>()</li>
-<li><span style='color:orange'>(draft)</span> public CharsTrie <i>resetToState64</i>(long)</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointTrie.Type FAST</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointTrie.Type SMALL</li>
</ul>
-JapaneseCalendar
+CodePointTrie.ValueWidth
<ul>
-<li><span style='color:green'>(stable)</span> public static final int REIWA</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointTrie.ValueWidth BITS_16</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointTrie.ValueWidth BITS_32</li>
+<li><span style='color:green'>(stable)</span> public static final CodePointTrie.ValueWidth BITS_8</li>
</ul>
MeasureUnit
<ul>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit BARREL</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit BRITISH_THERMAL_UNIT</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit DALTON</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit DAY_PERSON</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit DUNAM</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit EARTH_MASS</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit ELECTRONVOLT</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit FLUID_OUNCE_IMPERIAL</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit KILOPASCAL</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MEGAPASCAL</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MOLE</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MONTH_PERSON</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit NEWTON</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit NEWTON_METER</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit PERMYRIAD</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit POUND_FOOT</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit POUND_FORCE</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SOLAR_LUMINOSITY</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SOLAR_MASS</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SOLAR_RADIUS</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit WEEK_PERSON</li>
-<li><span style='color:orange'>(draft)</span> public static final MeasureUnit YEAR_PERSON</li>
+<li><span style='color:green'>(stable)</span> public static final MeasureUnit ATMOSPHERE</li>
+<li><span style='color:green'>(stable)</span> public static final MeasureUnit PERCENT</li>
+<li><span style='color:green'>(stable)</span> public static final MeasureUnit PERMILLE</li>
+<li><span style='color:green'>(stable)</span> public static final MeasureUnit PETABYTE</li>
</ul>
-VersionInfo
+</ul>
+
+
+<hr/>
+<h2>Added in ICU4J 65.1</h2>
+
+<h3>Package com.ibm.icu.text</h3>
<ul>
-<li><span style='color:green'>(stable)</span> public static final VersionInfo UNICODE_12_0</li>
-<li><span style='color:green'>(stable)</span> public static final VersionInfo UNICODE_12_1</li>
+RelativeDateTimeFormatter.AbsoluteUnit
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit HOUR</li>
+<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit MINUTE</li>
+</ul>
+</ul>
+
+<h3>Package com.ibm.icu.util</h3>
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final class <i>LocaleMatcher.Builder</i></li>
+<li><span style='color:orange'>(draft)</span> public static final class <i>LocaleMatcher.Result</i></li>
+<li><span style='color:orange'>(draft)</span> public static enum <i>LocaleMatcher.Demotion</i></li>
+<li><span style='color:orange'>(draft)</span> public static enum <i>LocaleMatcher.FavorSubtag</i></li>
+<li><span style='color:orange'>(draft)</span> public static enum <i>ULocale.AvailableType</i></li>
+LocaleMatcher
+<ul>
+<li><span style='color:orange'>(draft)</span> public static LocaleMatcher.Builder <i>builder</i>()</li>
+<li><span style='color:orange'>(draft)</span> public java.util.Locale <i>getBestLocale</i>(java.lang.Iterable<java.util.Locale>)</li>
+<li><span style='color:orange'>(draft)</span> public java.util.Locale <i>getBestLocale</i>(java.util.Locale)</li>
+<li><span style='color:orange'>(draft)</span> public LocaleMatcher.Result <i>getBestLocaleResult</i>(java.lang.Iterable<java.util.Locale>)</li>
+<li><span style='color:orange'>(draft)</span> public LocaleMatcher.Result <i>getBestLocaleResult</i>(java.util.Locale)</li>
+<li><span style='color:green'>(stable)</span> public ULocale <i>getBestMatch</i>(java.lang.Iterable<ULocale>)</li>
+<li><span style='color:orange'>(draft)</span> public LocaleMatcher.Result <i>getBestMatchResult</i>(ULocale)</li>
+<li><span style='color:orange'>(draft)</span> public LocaleMatcher.Result <i>getBestMatchResult</i>(java.lang.Iterable<ULocale>)</li>
+</ul>
+LocaleMatcher.Demotion
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final LocaleMatcher.Demotion NONE</li>
+<li><span style='color:orange'>(draft)</span> public static final LocaleMatcher.Demotion REGION</li>
+</ul>
+LocaleMatcher.FavorSubtag
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final LocaleMatcher.FavorSubtag LANGUAGE</li>
+<li><span style='color:orange'>(draft)</span> public static final LocaleMatcher.FavorSubtag SCRIPT</li>
+</ul>
+LocalePriorityList
+<ul>
+<li><span style='color:orange'>(draft)</span> public java.util.Set<ULocale> <i>getULocales</i>()</li>
+</ul>
+ULocale
+<ul>
+<li><span style='color:orange'>(draft)</span> public static java.util.Collection<ULocale> <i>getAvailableLocalesByType</i>(ULocale.AvailableType)</li>
+</ul>
+ULocale.AvailableType
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final ULocale.AvailableType DEFAULT</li>
+<li><span style='color:orange'>(draft)</span> public static final ULocale.AvailableType ONLY_LEGACY_ALIASES</li>
+<li><span style='color:orange'>(draft)</span> public static final ULocale.AvailableType WITH_LEGACY_ALIASES</li>
</ul>
</ul>
<hr/>
-<p><i><font size="-1">Contents generated by ReportAPI tool on Tue Apr 09 17:32:39 EDT 2019<br/>© 2019 and later: Unicode, Inc. and others. License & terms of use: <a href="http://www.unicode.org/copyright.html#License">http://www.unicode.org/copyright.html#License</a></font></i></p>
+<p><i><font size="-1">Contents generated by ReportAPI tool on Wed Sep 04 14:00:20 EDT 2019<br/>© 2019 and later: Unicode, Inc. and others. License & terms of use: <a href="http://www.unicode.org/copyright.html#License">http://www.unicode.org/copyright.html#License</a></font></i></p>
</body>
</html>
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/lang/CharacterProperties.java b/icu4j/main/classes/core/src/com/ibm/icu/lang/CharacterProperties.java
index 29a75a9..3e2e350 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/lang/CharacterProperties.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/lang/CharacterProperties.java
@@ -19,8 +19,7 @@
* <p>For details see the method descriptions.
* For lookup of property values by code point see class {@link UCharacter}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final class CharacterProperties {
private CharacterProperties() {} // all-static
@@ -112,8 +111,7 @@
* @return the property as a set
* @see UProperty
* @see UCharacter#hasBinaryProperty
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final UnicodeSet getBinaryPropertySet(int property) {
if (property < 0 || UProperty.BINARY_LIMIT <= property) {
@@ -143,8 +141,7 @@
* @return the property as a map
* @see UProperty
* @see UCharacter#getIntPropertyValue
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final CodePointMap getIntPropertyMap(int property) {
if (property < UProperty.INT_START || UProperty.INT_LIMIT <= property) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/CompactNotation.java b/icu4j/main/classes/core/src/com/ibm/icu/number/CompactNotation.java
index 806f341..a8b704e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/CompactNotation.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/CompactNotation.java
@@ -31,8 +31,7 @@
* This class exposes no public functionality. To create a CompactNotation, use one of the factory
* methods in {@link Notation}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class CompactNotation extends Notation {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/CurrencyPrecision.java b/icu4j/main/classes/core/src/com/ibm/icu/number/CurrencyPrecision.java
index 09f3f5d..a174ec9 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/CurrencyPrecision.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/CurrencyPrecision.java
@@ -11,8 +11,7 @@
* <p>
* To create a CurrencyPrecision, use one of the factory methods on Precision.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public abstract class CurrencyPrecision extends Precision {
@@ -35,8 +34,7 @@
* @param currency
* The currency to associate with this rounding strategy.
* @return A Precision for chaining or passing to the NumberFormatter rounding() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public Precision withCurrency(Currency currency) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
index c607144..945d907 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumber.java
@@ -21,8 +21,7 @@
*
* Instances of this class are immutable and thread-safe.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class FormattedNumber implements FormattedValue {
@@ -37,8 +36,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
@Override
public String toString() {
@@ -81,8 +79,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
@Override
public <A extends Appendable> A appendTo(A appendable) {
@@ -103,8 +100,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
@Override
public AttributedCharacterIterator toCharacterIterator() {
@@ -155,8 +151,7 @@
* pipeline.
*
* @return A BigDecimal representation of the formatted number.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public BigDecimal toBigDecimal() {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumberRange.java b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumberRange.java
index 9992a5a..8189e59 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumberRange.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/FormattedNumberRange.java
@@ -23,8 +23,7 @@
* Instances of this class are immutable and thread-safe.
*
* @author sffc
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public class FormattedNumberRange implements FormattedValue {
@@ -44,8 +43,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public String toString() {
@@ -55,8 +53,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public <A extends Appendable> A appendTo(A appendable) {
@@ -149,8 +146,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public AttributedCharacterIterator toCharacterIterator() {
@@ -162,8 +158,7 @@
* printed after scaling and rounding have been applied by the number range formatting pipeline.
*
* @return A BigDecimal representation of the first formatted number.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
* @see #getSecondBigDecimal
*/
@@ -176,8 +171,7 @@
* printed after scaling and rounding have been applied by the number range formatting pipeline.
*
* @return A BigDecimal representation of the second formatted number.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
* @see #getFirstBigDecimal
*/
@@ -191,8 +185,7 @@
* identity fallback was used.
*
* @return A RangeIdentityType indicating the resulting identity situation in the formatted number range.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
* @see NumberRangeFormatter.RangeIdentityFallback
*/
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/FractionPrecision.java b/icu4j/main/classes/core/src/com/ibm/icu/number/FractionPrecision.java
index 882a6c5..107389e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/FractionPrecision.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/FractionPrecision.java
@@ -11,8 +11,7 @@
* <p>
* To create a FractionPrecision, use one of the factory methods on Precision.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public abstract class FractionPrecision extends Precision {
@@ -35,8 +34,7 @@
* @param minSignificantDigits
* The number of significant figures to guarantee.
* @return A Precision for chaining or passing to the NumberFormatter rounding() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public Precision withMinDigits(int minSignificantDigits) {
@@ -64,8 +62,7 @@
* @param maxSignificantDigits
* Round the number to no more than this number of significant figures.
* @return A Precision for chaining or passing to the NumberFormatter rounding() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public Precision withMaxDigits(int maxSignificantDigits) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/IntegerWidth.java b/icu4j/main/classes/core/src/com/ibm/icu/number/IntegerWidth.java
index b01a42c..c357109 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/IntegerWidth.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/IntegerWidth.java
@@ -10,8 +10,7 @@
* <p>
* To create an IntegerWidth, use one of the factory methods.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class IntegerWidth {
@@ -36,8 +35,7 @@
* @param minInt
* The minimum number of places before the decimal separator.
* @return An IntegerWidth for chaining or passing to the NumberFormatter integerWidth() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static IntegerWidth zeroFillTo(int minInt) {
@@ -61,8 +59,7 @@
* The maximum number of places before the decimal separator. maxInt == -1 means no
* truncation.
* @return An IntegerWidth for passing to the NumberFormatter integerWidth() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public IntegerWidth truncateAt(int maxInt) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberFormatter.java
index eace5ba..1e3f26a 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberFormatter.java
@@ -24,8 +24,7 @@
* Instances of this class are immutable and thread-safe.
*
* @see NumberFormatter
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class LocalizedNumberFormatter extends NumberFormatterSettings<LocalizedNumberFormatter> {
@@ -48,8 +47,7 @@
* @param input
* The number to format.
* @return A FormattedNumber object; call .toString() to get the string.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public FormattedNumber format(long input) {
@@ -63,8 +61,7 @@
* @param input
* The number to format.
* @return A FormattedNumber object; call .toString() to get the string.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public FormattedNumber format(double input) {
@@ -78,8 +75,7 @@
* @param input
* The number to format.
* @return A FormattedNumber object; call .toString() to get the string.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public FormattedNumber format(Number input) {
@@ -97,8 +93,7 @@
* @param input
* The number to format.
* @return A FormattedNumber object; call .toString() to get the string.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public FormattedNumber format(Measure input) {
@@ -127,8 +122,7 @@
* method.
*
* @return A Format wrapping this LocalizedNumberFormatter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public Format toFormat() {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberRangeFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberRangeFormatter.java
index 864493f..b7d875d 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberRangeFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/LocalizedNumberRangeFormatter.java
@@ -11,8 +11,7 @@
* Instances of this class are immutable and thread-safe.
*
* @author sffc
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public class LocalizedNumberRangeFormatter extends NumberRangeFormatterSettings<LocalizedNumberRangeFormatter> {
@@ -32,8 +31,7 @@
* @param second
* The second number in the range, usually to the right in LTR locales.
* @return A FormattedNumberRange object; call .toString() to get the string.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public FormattedNumberRange formatRange(int first, int second) {
@@ -51,8 +49,7 @@
* @param second
* The second number in the range, usually to the right in LTR locales.
* @return A FormattedNumberRange object; call .toString() to get the string.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public FormattedNumberRange formatRange(double first, double second) {
@@ -72,8 +69,7 @@
* @param second
* The second number in the range, usually to the right in LTR locales.
* @return A FormattedNumberRange object; call .toString() to get the string.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public FormattedNumberRange formatRange(Number first, Number second) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/Notation.java b/icu4j/main/classes/core/src/com/ibm/icu/number/Notation.java
index 409a4e9..4be9ec2 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/Notation.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/Notation.java
@@ -8,8 +8,7 @@
/**
* A class that defines the notation style to be used when formatting numbers in NumberFormatter.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class Notation {
@@ -53,8 +52,7 @@
* </pre>
*
* @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static ScientificNotation scientific() {
@@ -81,8 +79,7 @@
* </pre>
*
* @return A ScientificNotation for chaining or passing to the NumberFormatter notation() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static ScientificNotation engineering() {
@@ -128,8 +125,7 @@
* </pre>
*
* @return A CompactNotation for passing to the NumberFormatter notation() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static CompactNotation compactShort() {
@@ -156,8 +152,7 @@
* </pre>
*
* @return A CompactNotation for passing to the NumberFormatter notation() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static CompactNotation compactLong() {
@@ -187,8 +182,7 @@
* </pre>
*
* @return A SimpleNotation for passing to the NumberFormatter notation() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static SimpleNotation simple() {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
index b109e85..497800e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatter.java
@@ -61,8 +61,7 @@
* design doc</a>.
*
* @author Shane Carr
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public final class NumberFormatter {
@@ -83,8 +82,7 @@
* <p>
* This enum is similar to {@link com.ibm.icu.text.MeasureFormat.FormatWidth}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static enum UnitWidth {
@@ -98,8 +96,7 @@
* In CLDR, this option corresponds to the "Narrow" format for measure units and the "¤¤¤¤¤"
* placeholder for currencies.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
NARROW,
@@ -116,8 +113,7 @@
* In CLDR, this option corresponds to the "Short" format for measure units and the "¤"
* placeholder for currencies.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
SHORT,
@@ -129,8 +125,7 @@
* In CLDR, this option corresponds to the default format for measure units and the "¤¤¤"
* placeholder for currencies.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
FULL_NAME,
@@ -142,8 +137,7 @@
* <p>
* In CLDR, this option corresponds to the "¤¤" placeholder for currencies.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
ISO_CODE,
@@ -153,8 +147,7 @@
* currencies, apply monetary symbols and formats as with SHORT, but omit the currency symbol.
* For measure units, the behavior is equivalent to not specifying the unit at all.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
HIDDEN,
@@ -184,16 +177,14 @@
* Note: This enum specifies the strategy for grouping sizes. To set which character to use as the
* grouping separator, use the "symbols" setter.
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
public static enum GroupingStrategy {
/**
* Do not display grouping separators in any locale.
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
OFF,
@@ -210,8 +201,7 @@
* Locale data is used to determine whether to separate larger numbers into groups of 2
* (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
MIN2,
@@ -227,8 +217,7 @@
* Locale data is used to determine whether to separate larger numbers into groups of 2
* (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
AUTO,
@@ -245,8 +234,7 @@
* Locale data is used to determine whether to separate larger numbers into groups of 2
* (customary in South Asia) or groups of 3 (customary in Europe and the Americas).
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
ON_ALIGNED,
@@ -255,8 +243,7 @@
* Use the Western defaults: groups of 3 and enabled for all numbers 1000 or greater. Do not use
* locale data for determining the grouping strategy.
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
THOUSANDS
@@ -279,8 +266,7 @@
* <p>
* The exact format, including the position and the code point of the sign, differ by locale.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static enum SignDisplay {
@@ -288,8 +274,7 @@
* Show the minus sign on negative numbers, and do not show the sign on positive numbers. This is
* the default behavior.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
AUTO,
@@ -298,8 +283,7 @@
* Show the minus sign on negative numbers and the plus sign on positive numbers, including zero.
* To hide the sign on zero, see {@link #EXCEPT_ZERO}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
ALWAYS,
@@ -307,8 +291,7 @@
/**
* Do not show the sign on positive or negative numbers.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
NEVER,
@@ -326,8 +309,7 @@
* back to the AUTO sign display strategy when formatting without a currency unit. This
* limitation may be lifted in the future.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
ACCOUNTING,
@@ -338,8 +320,7 @@
* ACCOUNTING sign display strategy. To hide the sign on zero, see
* {@link #ACCOUNTING_EXCEPT_ZERO}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
ACCOUNTING_ALWAYS,
@@ -348,8 +329,7 @@
* Show the minus sign on negative numbers and the plus sign on positive numbers. Do not show a
* sign on zero or NaN, unless the sign bit is set (-0.0 gets a sign).
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
EXCEPT_ZERO,
@@ -360,8 +340,7 @@
* sign). For more information on the accounting format, see the ACCOUNTING sign display
* strategy.
*
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
* @see NumberFormatter
*/
ACCOUNTING_EXCEPT_ZERO,
@@ -376,8 +355,7 @@
* <li>ALWAYS: "1." and "1.1"
* </ul>
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static enum DecimalSeparatorDisplay {
@@ -385,8 +363,7 @@
* Show the decimal separator when there are one or more digits to display after the separator,
* and do not show it otherwise. This is the default behavior.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
AUTO,
@@ -394,8 +371,7 @@
/**
* Always show the decimal separator, even if there are no digits to display after the separator.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
ALWAYS,
@@ -419,8 +395,7 @@
* currently known at the call site.
*
* @return An {@link UnlocalizedNumberFormatter}, to be used for chaining.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public static UnlocalizedNumberFormatter with() {
return BASE;
@@ -433,8 +408,7 @@
* @param locale
* The locale from which to load formats and symbols for number formatting.
* @return A {@link LocalizedNumberFormatter}, to be used for chaining.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public static LocalizedNumberFormatter withLocale(Locale locale) {
return BASE.locale(locale);
@@ -447,8 +421,7 @@
* @param locale
* The locale from which to load formats and symbols for number formatting.
* @return A {@link LocalizedNumberFormatter}, to be used for chaining.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public static LocalizedNumberFormatter withLocale(ULocale locale) {
return BASE.locale(locale);
@@ -462,8 +435,7 @@
* The skeleton string off of which to base this NumberFormatter.
* @return An {@link UnlocalizedNumberFormatter}, to be used for chaining.
* @throws SkeletonSyntaxException If the given string is not a valid number formatting skeleton.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public static UnlocalizedNumberFormatter forSkeleton(String skeleton) {
return NumberSkeletonImpl.getOrCreate(skeleton);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
index cbc93c1..fd510fa 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberFormatterSettings.java
@@ -23,8 +23,7 @@
* by {@link UnlocalizedNumberFormatter} and {@link LocalizedNumberFormatter}. This class is not intended
* for public subclassing.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public abstract class NumberFormatterSettings<T extends NumberFormatterSettings<?>> {
@@ -84,8 +83,7 @@
* The notation strategy to use.
* @return The fluent chain.
* @see Notation
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T notation(Notation notation) {
return create(KEY_NOTATION, notation);
@@ -142,8 +140,7 @@
* @see Currency
* @see NoUnit
* @see #perUnit
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T unit(MeasureUnit unit) {
return create(KEY_UNIT, unit);
@@ -170,8 +167,7 @@
* The unit to render in the denominator.
* @return The fluent chain
* @see #unit
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
*/
public T perUnit(MeasureUnit perUnit) {
return create(KEY_PER_UNIT, perUnit);
@@ -205,8 +201,7 @@
* The rounding precision to use.
* @return The fluent chain.
* @see Precision
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public T precision(Precision precision) {
return create(KEY_PRECISION, precision);
@@ -230,8 +225,7 @@
* The rounding mode to use.
* @return The fluent chain.
* @see Precision
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public T roundingMode(RoundingMode roundingMode) {
return create(KEY_ROUNDING_MODE, roundingMode);
@@ -263,8 +257,7 @@
* The grouping strategy to use.
* @return The fluent chain.
* @see GroupingStrategy
- * @draft ICU 61
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 61
*/
public T grouping(GroupingStrategy strategy) {
return create(KEY_GROUPING, strategy);
@@ -292,8 +285,7 @@
* The integer width to use.
* @return The fluent chain.
* @see IntegerWidth
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T integerWidth(IntegerWidth style) {
return create(KEY_INTEGER, style);
@@ -337,8 +329,7 @@
* The DecimalFormatSymbols to use.
* @return The fluent chain.
* @see DecimalFormatSymbols
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T symbols(DecimalFormatSymbols symbols) {
symbols = (DecimalFormatSymbols) symbols.clone();
@@ -373,8 +364,7 @@
* The NumberingSystem to use.
* @return The fluent chain.
* @see NumberingSystem
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T symbols(NumberingSystem ns) {
return create(KEY_SYMBOLS, ns);
@@ -403,8 +393,7 @@
* The width to use when rendering numbers.
* @return The fluent chain
* @see UnitWidth
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T unitWidth(UnitWidth style) {
return create(KEY_UNIT_WIDTH, style);
@@ -433,8 +422,7 @@
* The sign display strategy to use when rendering numbers.
* @return The fluent chain
* @see SignDisplay
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T sign(SignDisplay style) {
return create(KEY_SIGN, style);
@@ -463,8 +451,7 @@
* The decimal separator display strategy to use when rendering numbers.
* @return The fluent chain
* @see DecimalSeparatorDisplay
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public T decimal(DecimalSeparatorDisplay style) {
return create(KEY_DECIMAL, style);
@@ -493,8 +480,7 @@
* An amount to be multiplied against numbers before formatting.
* @return The fluent chain
* @see Scale
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public T scale(Scale scale) {
return create(KEY_SCALE, scale);
@@ -548,8 +534,7 @@
* @return A number skeleton string with behavior corresponding to this number formatter.
* @throws UnsupportedOperationException
* If the number formatter has an option that cannot be represented in a skeleton string.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public String toSkeleton() {
return NumberSkeletonImpl.generate(resolve());
@@ -659,8 +644,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
@Override
public int hashCode() {
@@ -670,8 +654,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
@Override
public boolean equals(Object other) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
index 47abd1d..611f0b8 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatter.java
@@ -26,8 +26,7 @@
* <em>fluent</em> design pattern popularized by libraries such as Google's Guava.
*
* @author sffc
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberFormatter
*/
public abstract class NumberRangeFormatter {
@@ -35,8 +34,7 @@
/**
* Defines how to merge fields that are identical across the range sign.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public enum RangeCollapse {
@@ -46,8 +44,7 @@
* <p>
* The heuristics used for this option are subject to change over time.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
AUTO,
@@ -55,8 +52,7 @@
/**
* Do not collapse any part of the number. Example: "3.2 thousand kilograms – 5.3 thousand kilograms"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
NONE,
@@ -65,8 +61,7 @@
* Collapse the unit part of the number, but not the notation, if present. Example: "3.2 thousand – 5.3 thousand
* kilograms"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
UNIT,
@@ -75,8 +70,7 @@
* Collapse any field that is equal across the range sign. May introduce ambiguity on the magnitude of the
* number. Example: "3.2 – 5.3 thousand kilograms"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
ALL
@@ -86,16 +80,14 @@
* Defines the behavior when the two numbers in the range are identical after rounding. To programmatically detect
* when the identity fallback is used, compare the lower and upper BigDecimals via FormattedNumber.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public static enum RangeIdentityFallback {
/**
* Show the number as a single value rather than a range. Example: "$5"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
SINGLE_VALUE,
@@ -104,8 +96,7 @@
* Show the number using a locale-sensitive approximation pattern. If the numbers were the same before rounding,
* show the single value. Example: "~$5" or "$5"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
APPROXIMATELY_OR_SINGLE_VALUE,
@@ -114,8 +105,7 @@
* Show the number using a locale-sensitive approximation pattern. Use the range pattern always, even if the
* inputs are the same. Example: "~$5"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
APPROXIMATELY,
@@ -124,8 +114,7 @@
* Show the number as the range of two equal values. Use the range pattern always, even if the inputs are the
* same. Example (with RangeCollapse.NONE): "$5 – $5"
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
RANGE
@@ -135,16 +124,14 @@
* Used in the result class FormattedNumberRange to indicate to the user whether the numbers formatted in the range
* were equal or not, and whether or not the identity fallback was applied.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public static enum RangeIdentityResult {
/**
* Used to indicate that the two numbers in the range were equal, even before any rounding rules were applied.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
EQUAL_BEFORE_ROUNDING,
@@ -152,8 +139,7 @@
/**
* Used to indicate that the two numbers in the range were equal, but only after rounding rules were applied.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
EQUAL_AFTER_ROUNDING,
@@ -161,8 +147,7 @@
/**
* Used to indicate that the two numbers in the range were not equal, even after rounding rules were applied.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
NOT_EQUAL
@@ -175,8 +160,7 @@
* known at the call site.
*
* @return An {@link UnlocalizedNumberRangeFormatter}, to be used for chaining.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static UnlocalizedNumberRangeFormatter with() {
return BASE;
@@ -189,8 +173,7 @@
* @param locale
* The locale from which to load formats and symbols for number range formatting.
* @return A {@link LocalizedNumberRangeFormatter}, to be used for chaining.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static LocalizedNumberRangeFormatter withLocale(Locale locale) {
return BASE.locale(locale);
@@ -203,8 +186,7 @@
* @param locale
* The locale from which to load formats and symbols for number range formatting.
* @return A {@link LocalizedNumberRangeFormatter}, to be used for chaining.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static LocalizedNumberRangeFormatter withLocale(ULocale locale) {
return BASE.locale(locale);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatterSettings.java b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatterSettings.java
index 50df9af..642aec5 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatterSettings.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/NumberRangeFormatterSettings.java
@@ -13,8 +13,7 @@
* public subclassing.
*
* @author sffc
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public abstract class NumberRangeFormatterSettings<T extends NumberRangeFormatterSettings<?>> {
@@ -49,8 +48,7 @@
* @param formatter
* The formatter to use for both numbers in the range.
* @return The fluent chain.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberFormatter
* @see NumberRangeFormatter
*/
@@ -68,8 +66,7 @@
* @param formatterFirst
* The formatter to use for the first number in the range.
* @return The fluent chain.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberFormatter
* @see NumberRangeFormatter
*/
@@ -87,8 +84,7 @@
* @param formatterSecond
* The formatter to use for the second number in the range.
* @return The fluent chain.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberFormatter
* @see NumberRangeFormatter
*/
@@ -111,8 +107,7 @@
* @param collapse
* The collapsing strategy to use for this range.
* @return The fluent chain.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public T collapse(RangeCollapse collapse) {
@@ -136,8 +131,7 @@
* @param identityFallback
* The strategy to use when formatting two numbers that end up being the same.
* @return The fluent chain.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public T identityFallback(RangeIdentityFallback identityFallback) {
@@ -210,8 +204,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public int hashCode() {
@@ -221,8 +214,7 @@
/**
* {@inheritDoc}
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public boolean equals(Object other) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/Precision.java b/icu4j/main/classes/core/src/com/ibm/icu/number/Precision.java
index 99b5ef2..0aa395f 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/Precision.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/Precision.java
@@ -18,8 +18,7 @@
* <p>
* To create a Precision, use one of the factory methods.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public abstract class Precision implements Cloneable {
@@ -45,8 +44,7 @@
* http://www.serpentine.com/blog/2011/06/29/here-be-dragons-advances-in-problems-you-didnt-even-know-you-had/
*
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static Precision unlimited() {
@@ -57,8 +55,7 @@
* Show numbers rounded if necessary to the nearest integer.
*
* @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static FractionPrecision integer() {
@@ -91,8 +88,7 @@
* The minimum and maximum number of numerals to display after the decimal separator
* (rounding if too long or padding with zeros if too short).
* @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static FractionPrecision fixedFraction(int minMaxFractionPlaces) {
@@ -117,8 +113,7 @@
* The minimum number of numerals to display after the decimal separator (padding with
* zeros if necessary).
* @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static FractionPrecision minFraction(int minFractionPlaces) {
@@ -140,8 +135,7 @@
* The maximum number of numerals to display after the decimal mark (rounding if
* necessary).
* @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static FractionPrecision maxFraction(int maxFractionPlaces) {
@@ -166,8 +160,7 @@
* The maximum number of numerals to display after the decimal separator (rounding if
* necessary).
* @return A FractionPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static FractionPrecision minMaxFraction(int minFractionPlaces, int maxFractionPlaces) {
@@ -194,8 +187,7 @@
* The minimum and maximum number of significant digits to display (rounding if too long
* or padding with zeros if too short).
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Precision fixedSignificantDigits(int minMaxSignificantDigits) {
@@ -219,8 +211,7 @@
* @param minSignificantDigits
* The minimum number of significant digits to display (padding with zeros if too short).
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Precision minSignificantDigits(int minSignificantDigits) {
@@ -239,8 +230,7 @@
* @param maxSignificantDigits
* The maximum number of significant digits to display (rounding if too long).
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Precision maxSignificantDigits(int maxSignificantDigits) {
@@ -262,8 +252,7 @@
* @param maxSignificantDigits
* The maximum number of significant digits to display (rounding if necessary).
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Precision minMaxSignificantDigits(int minSignificantDigits, int maxSignificantDigits) {
@@ -298,8 +287,7 @@
* @param roundingIncrement
* The increment to which to round numbers.
* @return A Precision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static Precision increment(BigDecimal roundingIncrement) {
@@ -326,8 +314,7 @@
* Either STANDARD (for digital transactions) or CASH (for transactions where the rounding
* increment may be limited by the available denominations of cash or coins).
* @return A CurrencyPrecision for chaining or passing to the NumberFormatter precision() setter.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public static CurrencyPrecision currency(CurrencyUsage currencyUsage) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/Scale.java b/icu4j/main/classes/core/src/com/ibm/icu/number/Scale.java
index cdcf825..dceda2e 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/Scale.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/Scale.java
@@ -15,8 +15,7 @@
* <p>
* To create a Multiplier, use one of the factory methods.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public class Scale {
@@ -68,8 +67,7 @@
* Do not change the value of numbers when formatting or parsing.
*
* @return A Multiplier to prevent any multiplication.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Scale none() {
@@ -84,8 +82,7 @@
* </pre>
*
* @return A Multiplier for passing to the setter in NumberFormatter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Scale powerOfTen(int power) {
@@ -106,8 +103,7 @@
* This method takes a BigDecimal; also see the version that takes a double.
*
* @return A Multiplier for passing to the setter in NumberFormatter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Scale byBigDecimal(BigDecimal multiplicand) {
@@ -128,8 +124,7 @@
* This method takes a double; also see the version that takes a BigDecimal.
*
* @return A Multiplier for passing to the setter in NumberFormatter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Scale byDouble(double multiplicand) {
@@ -148,8 +143,7 @@
* Multiply a number by both a power of ten and by an arbitrary double value before formatting.
*
* @return A Multiplier for passing to the setter in NumberFormatter.
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public static Scale byDoubleAndPowerOfTen(double multiplicand, int power) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/ScientificNotation.java b/icu4j/main/classes/core/src/com/ibm/icu/number/ScientificNotation.java
index 8246af9..10945cd 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/ScientificNotation.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/ScientificNotation.java
@@ -24,8 +24,7 @@
* <p>
* To create a ScientificNotation, use one of the factory methods in {@link Notation}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class ScientificNotation extends Notation implements Cloneable {
@@ -57,8 +56,7 @@
* @param minExponentDigits
* The minimum number of digits to show in the exponent.
* @return A ScientificNotation, for chaining.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public ScientificNotation withMinExponentDigits(int minExponentDigits) {
@@ -84,8 +82,7 @@
* @param exponentSignDisplay
* The strategy for displaying the sign in the exponent.
* @return A ScientificNotation, for chaining.
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public ScientificNotation withExponentSignDisplay(SignDisplay exponentSignDisplay) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/SimpleNotation.java b/icu4j/main/classes/core/src/com/ibm/icu/number/SimpleNotation.java
index bd9ca6e..85f1afe 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/SimpleNotation.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/SimpleNotation.java
@@ -9,8 +9,7 @@
* This class exposes no public functionality. To create a SimpleNotation, use one of the factory methods
* in {@link Notation}.
*
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
* @see NumberFormatter
*/
public class SimpleNotation extends Notation {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/SkeletonSyntaxException.java b/icu4j/main/classes/core/src/com/ibm/icu/number/SkeletonSyntaxException.java
index d749c65..53a9302 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/SkeletonSyntaxException.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/SkeletonSyntaxException.java
@@ -5,8 +5,7 @@
/**
* Exception used for illegal number skeleton strings.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public class SkeletonSyntaxException extends IllegalArgumentException {
@@ -15,8 +14,7 @@
/**
* Construct a new SkeletonSyntaxException with information about the token at the point of failure.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public SkeletonSyntaxException(String message, CharSequence token) {
@@ -26,8 +24,7 @@
/**
* Construct a new SkeletonSyntaxException with information about the token at the point of failure.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
* @see NumberFormatter
*/
public SkeletonSyntaxException(String message, CharSequence token, Throwable cause) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberFormatter.java
index 0f49a5a..f89f5ec 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberFormatter.java
@@ -13,8 +13,7 @@
* Instances of this class are immutable and thread-safe.
*
* @see NumberFormatter
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public class UnlocalizedNumberFormatter extends NumberFormatterSettings<UnlocalizedNumberFormatter> {
@@ -41,8 +40,7 @@
* @param locale
* The locale to use when loading data for number formatting.
* @return The fluent chain
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public LocalizedNumberFormatter locale(Locale locale) {
return new LocalizedNumberFormatter(this, KEY_LOCALE, ULocale.forLocale(locale));
@@ -55,8 +53,7 @@
* The locale to use when loading data for number formatting.
* @return The fluent chain
* @see #locale(Locale)
- * @draft ICU 60
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 60
*/
public LocalizedNumberFormatter locale(ULocale locale) {
return new LocalizedNumberFormatter(this, KEY_LOCALE, locale);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberRangeFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberRangeFormatter.java
index cde4c2f..14070d6 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberRangeFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/number/UnlocalizedNumberRangeFormatter.java
@@ -12,8 +12,7 @@
* Instances of this class are immutable and thread-safe.
*
* @author sffc
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
* @see NumberRangeFormatter
*/
public class UnlocalizedNumberRangeFormatter extends NumberRangeFormatterSettings<UnlocalizedNumberRangeFormatter> {
@@ -41,8 +40,7 @@
* @param locale
* The locale to use when loading data for number range formatting.
* @return The fluent chain
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public LocalizedNumberRangeFormatter locale(Locale locale) {
return new LocalizedNumberRangeFormatter(this, KEY_LOCALE, ULocale.forLocale(locale));
@@ -55,8 +53,7 @@
* The locale to use when loading data for number range formatting.
* @return The fluent chain
* @see #locale(Locale)
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public LocalizedNumberRangeFormatter locale(ULocale locale) {
return new LocalizedNumberRangeFormatter(this, KEY_LOCALE, locale);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
index 57e4708..1bfeff4 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
@@ -2197,8 +2197,10 @@
/**
* Android libcore uses this internal method to set {@link ParseMode#JAVA_COMPATIBILITY}.
* @internal
+ * @deprecated This API is ICU internal only.
*/
- public synchronized void setParseStrictMode(ParseMode parseMode) {
+ @Deprecated
+public synchronized void setParseStrictMode(ParseMode parseMode) {
properties.setParseMode(parseMode);
refreshFormatter();
}
@@ -2484,8 +2486,7 @@
* @return An instance of {@link LocalizedNumberFormatter} with the same behavior as this instance of
* DecimalFormat.
* @see NumberFormatter
- * @provisional This API might change or be removed in a future release.
- * @draft ICU 60
+ * @stable ICU 60
*/
public LocalizedNumberFormatter toNumberFormatter() {
return formatter;
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java b/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
index d4a9e7d..8fa702d 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
@@ -471,8 +471,7 @@
* <p>
* This list and the number of combing characters considered by this check may grow over time.
*
- * @draft ICU 62
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 62
*/
public static final int HIDDEN_OVERLAY = 256;
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointMap.java b/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointMap.java
index 7277053..856689a 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointMap.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointMap.java
@@ -12,8 +12,7 @@
* Abstract map from Unicode code points (U+0000..U+10FFFF) to integer values.
* This does not implement java.util.Map.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract class CodePointMap implements Iterable<CodePointMap.Range> {
/**
@@ -21,16 +20,14 @@
* Most users should use NORMAL.
*
* @see #getRange
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public enum RangeOption {
/**
* getRange() enumerates all same-value ranges as stored in the map.
* Most users should use this option.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
NORMAL,
/**
@@ -47,8 +44,7 @@
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
FIXED_LEAD_SURROGATES,
/**
@@ -65,8 +61,7 @@
* or for special error behavior for unpaired surrogates,
* but those values are not to be associated with the lead surrogate code *points*.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
FIXED_ALL_SURROGATES
}
@@ -82,8 +77,7 @@
*
* @see #getRange
* @see #iterator
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public interface ValueFilter {
/**
@@ -91,8 +85,7 @@
*
* @param value map value
* @return modified value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public int apply(int value);
}
@@ -105,8 +98,7 @@
*
* @see #getRange
* @see #iterator
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Range {
private int start;
@@ -116,8 +108,7 @@
/**
* Constructor. Sets start and end to -1 and value to 0.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public Range() {
start = end = -1;
@@ -126,20 +117,17 @@
/**
* @return the start code point
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public int getStart() { return start; }
/**
* @return the (inclusive) end code point
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public int getEnd() { return end; }
/**
* @return the range value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public int getValue() { return value; }
/**
@@ -149,8 +137,7 @@
* @param start new start code point
* @param end new end code point
* @param value new value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public void set(int start, int end, int value) {
this.start = start;
@@ -199,8 +186,7 @@
*
* <p>This class is not intended for public subclassing.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public class StringIterator {
/**
@@ -245,8 +231,7 @@
*
* @param s string to iterate over
* @param sIndex string index where the iteration will start
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public void reset(CharSequence s, int sIndex) {
this.s = s;
@@ -262,8 +247,7 @@
*
* @return true if the string index was not yet at the end of the string;
* otherwise the iterator did not advance
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public boolean next() {
if (sIndex >= s.length()) {
@@ -282,8 +266,7 @@
*
* @return true if the string index was not yet at the start of the string;
* otherwise the iterator did not advance
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public boolean previous() {
if (sIndex <= 0) {
@@ -296,22 +279,19 @@
}
/**
* @return the string index
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final int getIndex() { return sIndex; }
/**
* @return the code point
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final int getCodePoint() { return c; }
/**
* @return the map value,
* or an implementation-defined error value if
* the code point is an unpaired surrogate
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final int getValue() { return value; }
}
@@ -319,8 +299,7 @@
/**
* Protected no-args constructor.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
protected CodePointMap() {
}
@@ -333,8 +312,7 @@
* @return the map value,
* or an implementation-defined error value if
* the code point is not in the range 0..U+10FFFF
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract int get(int c);
@@ -371,8 +349,7 @@
* or null if the values from the map are to be used unmodified
* @param range the range object that will be set to the code point range and value
* @return true if start is 0..U+10FFFF; otherwise no new range is fetched
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract boolean getRange(int start, ValueFilter filter, Range range);
@@ -395,8 +372,7 @@
* or null if the values from the map are to be used unmodified
* @param range the range object that will be set to the code point range and value
* @return true if start is 0..U+10FFFF; otherwise no new range is fetched
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public boolean getRange(int start, RangeOption option, int surrogateValue,
ValueFilter filter, Range range) {
@@ -453,8 +429,7 @@
* <p>The iterator always returns the same Range object.
*
* @return a Range iterator
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public Iterator<Range> iterator() {
@@ -468,8 +443,7 @@
* @param s string to iterate over
* @param sIndex string index where the iteration will start
* @return the iterator
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public StringIterator stringIterator(CharSequence s, int sIndex) {
return new StringIterator(s, sIndex);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointTrie.java b/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointTrie.java
index 904b971..d5ee8ab 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointTrie.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/CodePointTrie.java
@@ -22,8 +22,7 @@
* <p>This class is not intended for public subclassing.
*
* @see MutableCodePointTrie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract class CodePointTrie extends CodePointMap {
/**
@@ -36,8 +35,7 @@
* @see MutableCodePointTrie#buildImmutable(CodePointTrie.Type, CodePointTrie.ValueWidth)
* @see #fromBinary
* @see #getType
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public enum Type {
/**
@@ -45,16 +43,14 @@
* The {@link Fast} subclasses have additional functions for lookup for BMP and supplementary code points.
*
* @see Fast
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
FAST,
/**
* Small/slower BMP data structure.
*
* @see Small
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
SMALL
}
@@ -65,31 +61,27 @@
* <p>Use null for {@link #fromBinary} to accept any data value width;
* {@link #getValueWidth} will return the actual data value width.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public enum ValueWidth {
/**
* The trie stores 16 bits per data value.
* It returns them as unsigned values 0..0xffff=65535.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
BITS_16,
/**
* The trie stores 32 bits per data value.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
BITS_32,
/**
* The trie stores 8 bits per data value.
* It returns them as unsigned values 0..0xff=255.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
BITS_8
}
@@ -135,8 +127,7 @@
* @see MutableCodePointTrie#MutableCodePointTrie(int, int)
* @see MutableCodePointTrie#buildImmutable(CodePointTrie.Type, CodePointTrie.ValueWidth)
* @see #toBinary(OutputStream)
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static CodePointTrie fromBinary(Type type, ValueWidth valueWidth, ByteBuffer bytes) {
ByteOrder outerByteOrder = bytes.order();
@@ -279,23 +270,20 @@
* Returns the trie type.
*
* @return the trie type
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract Type getType();
/**
* Returns the number of bits in a trie data value.
*
* @return the number of bits in a trie data value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final ValueWidth getValueWidth() { return data.getValueWidth(); }
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public int get(int c) {
@@ -307,8 +295,7 @@
*
* @param c the input code point; must be U+0000..U+007F
* @return The ASCII code point's trie value.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final int asciiGet(int c) {
return ascii[c];
@@ -330,8 +317,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final boolean getRange(int start, ValueFilter filter, Range range) {
@@ -488,8 +474,7 @@
*
* @param os the output stream
* @return the number of bytes written
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final int toBinary(OutputStream os) {
try {
@@ -754,8 +739,7 @@
/**
* A CodePointTrie with {@link Type#FAST}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static abstract class Fast extends CodePointTrie {
private Fast(char[] index, Data data, int highStart,
@@ -773,8 +757,7 @@
* use null to accept any data value width
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Fast fromBinary(ValueWidth valueWidth, ByteBuffer bytes) {
return (Fast) CodePointTrie.fromBinary(Type.FAST, valueWidth, bytes);
@@ -782,8 +765,7 @@
/**
* @return {@link Type#FAST}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final Type getType() { return Type.FAST; }
@@ -795,8 +777,7 @@
*
* @param c the input code point, must be U+0000..U+FFFF
* @return The BMP code point's trie value.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract int bmpGet(int c);
@@ -806,8 +787,7 @@
*
* @param c the input code point, must be U+10000..U+10FFFF
* @return The supplementary code point's trie value.
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public abstract int suppGet(int c);
@@ -830,8 +810,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final StringIterator stringIterator(CharSequence s, int sIndex) {
@@ -898,8 +877,7 @@
/**
* A CodePointTrie with {@link Type#SMALL}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static abstract class Small extends CodePointTrie {
private Small(char[] index, Data data, int highStart,
@@ -917,8 +895,7 @@
* use null to accept any data value width
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Small fromBinary(ValueWidth valueWidth, ByteBuffer bytes) {
return (Small) CodePointTrie.fromBinary(Type.SMALL, valueWidth, bytes);
@@ -926,8 +903,7 @@
/**
* @return {@link Type#SMALL}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final Type getType() { return Type.SMALL; }
@@ -951,8 +927,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final StringIterator stringIterator(CharSequence s, int sIndex) {
@@ -1019,8 +994,7 @@
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_16}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Fast16 extends Fast {
private final char[] dataArray;
@@ -1038,8 +1012,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Fast16 fromBinary(ByteBuffer bytes) {
return (Fast16) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_16, bytes);
@@ -1047,8 +1020,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int get(int c) {
@@ -1057,8 +1029,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@@ -1068,8 +1039,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@@ -1081,8 +1051,7 @@
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_32}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Fast32 extends Fast {
private final int[] dataArray;
@@ -1100,8 +1069,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Fast32 fromBinary(ByteBuffer bytes) {
return (Fast32) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_32, bytes);
@@ -1109,8 +1077,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int get(int c) {
@@ -1119,8 +1086,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@@ -1130,8 +1096,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@@ -1143,8 +1108,7 @@
/**
* A CodePointTrie with {@link Type#FAST} and {@link ValueWidth#BITS_8}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Fast8 extends Fast {
private final byte[] dataArray;
@@ -1162,8 +1126,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Fast8 fromBinary(ByteBuffer bytes) {
return (Fast8) CodePointTrie.fromBinary(Type.FAST, ValueWidth.BITS_8, bytes);
@@ -1171,8 +1134,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int get(int c) {
@@ -1181,8 +1143,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int bmpGet(int c) {
@@ -1192,8 +1153,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public final int suppGet(int c) {
@@ -1205,8 +1165,7 @@
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_16}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Small16 extends Small {
Small16(char[] index, char[] data16, int highStart,
@@ -1221,8 +1180,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Small16 fromBinary(ByteBuffer bytes) {
return (Small16) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_16, bytes);
@@ -1232,8 +1190,7 @@
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_32}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Small32 extends Small {
Small32(char[] index, int[] data32, int highStart,
@@ -1248,8 +1205,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Small32 fromBinary(ByteBuffer bytes) {
return (Small32) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_32, bytes);
@@ -1259,8 +1215,7 @@
/**
* A CodePointTrie with {@link Type#SMALL} and {@link ValueWidth#BITS_8}.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final class Small8 extends Small {
Small8(char[] index, byte[] data8, int highStart,
@@ -1275,8 +1230,7 @@
*
* @param bytes a buffer containing the binary data of a CodePointTrie
* @return the trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static Small8 fromBinary(ByteBuffer bytes) {
return (Small8) CodePointTrie.fromBinary(Type.SMALL, ValueWidth.BITS_8, bytes);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java b/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
index f15a44b..e0fd569 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/LocaleMatcher.java
@@ -88,7 +88,7 @@
/**
* Builder option for whether the language subtag or the script subtag is most important.
*
- * @see Builder#setFavorSubtag(FavorSubtag)
+ * @see LocaleMatcher.Builder#setFavorSubtag(LocaleMatcher.FavorSubtag)
* @draft ICU 65
* @provisional This API might change or be removed in a future release.
*/
@@ -114,7 +114,7 @@
* Builder option for whether all desired locales are treated equally or
* earlier ones are preferred.
*
- * @see Builder#setDemotionPerDesiredLocale(Demotion)
+ * @see LocaleMatcher.Builder#setDemotionPerDesiredLocale(LocaleMatcher.Demotion)
* @draft ICU 65
* @provisional This API might change or be removed in a future release.
*/
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
index 2e80a5d..4e670d2 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/MeasureUnit.java
@@ -509,15 +509,13 @@
/**
* Constant for unit of concentr: percent
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final MeasureUnit PERCENT = MeasureUnit.internalGetInstance("concentr", "percent");
/**
* Constant for unit of concentr: permille
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final MeasureUnit PERMILLE = MeasureUnit.internalGetInstance("concentr", "permille");
@@ -602,8 +600,7 @@
/**
* Constant for unit of digital: petabyte
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final MeasureUnit PETABYTE = MeasureUnit.internalGetInstance("digital", "petabyte");
@@ -1090,8 +1087,7 @@
/**
* Constant for unit of pressure: atmosphere
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static final MeasureUnit ATMOSPHERE = MeasureUnit.internalGetInstance("pressure", "atmosphere");
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/MutableCodePointTrie.java b/icu4j/main/classes/core/src/com/ibm/icu/util/MutableCodePointTrie.java
index b9c171e..33262c0 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/MutableCodePointTrie.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/MutableCodePointTrie.java
@@ -22,8 +22,7 @@
* Iterate over those source ranges; for each of them iterate over this trie;
* add the source value into the value of each trie range.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public final class MutableCodePointTrie extends CodePointMap implements Cloneable {
/**
@@ -36,8 +35,7 @@
*
* @param initialValue the initial value that is set for all code points
* @param errorValue the value for out-of-range code points and ill-formed UTF-8/16
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public MutableCodePointTrie(int initialValue, int errorValue) {
index = new int[BMP_I_LIMIT];
@@ -54,8 +52,7 @@
* Clones this mutable trie.
*
* @return the clone
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public MutableCodePointTrie clone() {
@@ -90,8 +87,7 @@
*
* @param map the source map or trie
* @return the mutable trie
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public static MutableCodePointTrie fromCodePointMap(CodePointMap map) {
// TODO: Consider special code branch for map instanceof CodePointTrie?
@@ -126,8 +122,7 @@
/**
* {@inheritDoc}
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public int get(int c) {
@@ -160,8 +155,7 @@
*
* <p>The trie can be modified between calls to this function.
*
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
@Override
public boolean getRange(int start, CodePointTrie.ValueFilter filter,
@@ -253,8 +247,7 @@
*
* @param c the code point
* @param value the value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public void set(int c, int value) {
if (c < 0 || MAX_UNICODE < c) {
@@ -277,8 +270,7 @@
* @param start the first code point to get the value
* @param end the last code point to get the value (inclusive)
* @param value the value
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public void setRange(int start, int end, int value) {
if (start < 0 || MAX_UNICODE < start || end < 0 || MAX_UNICODE < end || start > end) {
@@ -353,8 +345,7 @@
* then the values stored in the trie will be truncated first
*
* @see #fromCodePointMap(CodePointMap)
- * @draft ICU 63
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 63
*/
public CodePointTrie buildImmutable(CodePointTrie.Type type, CodePointTrie.ValueWidth valueWidth) {
if (type == null || valueWidth == null) {