From 038c0e167ca432f9c069d3f15209a2a0a847b0b7 Mon Sep 17 00:00:00 2001 From: "Shane F. Carr" Date: Thu, 27 Sep 2018 18:31:53 -0700 Subject: [PATCH] =?UTF-8?q?ICU-20119=20ICU4J=20API=20promotion,=20@draft?= =?UTF-8?q?=2060=20=E2=86=92=20@stable=2060=20(#174)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ICU-20119 ICU4J API promotion, @draft 60 → @stable 60 * ICU-20119 Updating ICU4J API Change Report. * ICU-20119 FilteredBreakIteratorBuilder and NumberingSystem to @stable (ICU4J). --- icu4j/APIChangeReport.html | 355 ++++++++++-------- .../src/com/ibm/icu/text/BreakIterator.java | 2 +- .../core/src/com/ibm/icu/text/CaseMap.java | 21 +- .../ibm/icu/text/DecimalFormatSymbols.java | 6 +- .../core/src/com/ibm/icu/text/Edits.java | 15 +- .../text/FilteredBreakIteratorBuilder.java | 21 +- .../src/com/ibm/icu/text/NumberingSystem.java | 7 +- .../core/src/com/ibm/icu/util/Currency.java | 4 +- .../src/com/ibm/icu/util/CurrencyAmount.java | 4 +- 9 files changed, 233 insertions(+), 202 deletions(-) diff --git a/icu4j/APIChangeReport.html b/icu4j/APIChangeReport.html index 9668cd79793..996c1cbbe8c 100644 --- a/icu4j/APIChangeReport.html +++ b/icu4j/APIChangeReport.html @@ -4,181 +4,232 @@ -ICU4J API Comparison: ICU4J 61.1 with ICU4J 62.1 +ICU4J API Comparison: ICU4J 62.1 with ICU4J 63.1 -

ICU4J API Comparison: ICU4J 61.1 with ICU4J 62.1

+

ICU4J API Comparison: ICU4J 62.1 with ICU4J 63.1


-

Removed from ICU4J 61.1

- -

Package com.ibm.icu.number

- - +

Removed from ICU4J 62.1

+

(no API removed)


-

Deprecated or Obsoleted in ICU4J 62.1

- -

Package com.ibm.icu.number

- - +

Deprecated or Obsoleted in ICU4J 63.1

+

(no API obsoleted)


-

Changed in ICU4J 62.1 (old, new)

- -

Package com.ibm.icu.number

- - +

Changed in ICU4J 63.1 (old, new)

+

(no API changed)


-

Promoted to stable in ICU4J 62.1

-

(no API promoted to stable)

- -
-

Added in ICU4J 62.1

- -

Package com.ibm.icu.lang

- - -

Package com.ibm.icu.number

- +

Promoted to stable in ICU4J 63.1

Package com.ibm.icu.text

Package com.ibm.icu.util

+ + +
+

Added in ICU4J 63.1

+ +

Package com.ibm.icu.lang

+ + +

Package com.ibm.icu.number

+ + +

Package com.ibm.icu.text

+ + +

Package com.ibm.icu.util

+
-

Contents generated by ReportAPI tool on Tue May 29 17:03:55 EDT 2018
© 2018 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html#License

+

Contents generated by ReportAPI tool on Wed Sep 26 19:32:24 PDT 2018
© 2018 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html#License

diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java index 77cdc37bb44..925edd76fd1 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/BreakIterator.java @@ -531,7 +531,7 @@ public abstract class BreakIterator implements Cloneable * with a StringBuilder, for example). * @param newText A CharSequence containing the text to analyze with * this BreakIterator. - * @draft ICU 60 + * @stable ICU 60 */ public void setText(CharSequence newText) { setText(new CSCharacterIterator(newText)); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java b/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java index 8680714a1f4..80fc9aeb600 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/CaseMap.java @@ -95,8 +95,7 @@ public abstract class CaseMap { * @return the result string. * * @see UCharacter#toLowerCase(Locale, String) - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public String apply(Locale locale, CharSequence src) { return CaseMapImpl.toLower(getCaseLocale(locale), internalOptions, src); @@ -156,8 +155,7 @@ public abstract class CaseMap { * @return the result string. * * @see UCharacter#toUpperCase(Locale, String) - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public String apply(Locale locale, CharSequence src) { return CaseMapImpl.toUpper(getCaseLocale(locale), internalOptions, src); @@ -207,8 +205,7 @@ public abstract class CaseMap { * * @return an options object with this option. * @see #adjustToCased() - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public Title wholeString() { return new Title(CaseMapImpl.addTitleIteratorOption( @@ -225,8 +222,7 @@ public abstract class CaseMap { * * @return an options object with this option. * @see #adjustToCased() - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public Title sentences() { return new Title(CaseMapImpl.addTitleIteratorOption( @@ -300,8 +296,7 @@ public abstract class CaseMap { * * @return an options object with this option. * @see #noBreakAdjustment() - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public Title adjustToCased() { return new Title(CaseMapImpl.addTitleAdjustmentOption( @@ -328,8 +323,7 @@ public abstract class CaseMap { * @return the result string. * * @see UCharacter#toUpperCase(Locale, String) - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public String apply(Locale locale, BreakIterator iter, CharSequence src) { if (iter == null && locale == null) { @@ -431,8 +425,7 @@ public abstract class CaseMap { * @return the result string. * * @see UCharacter#foldCase(String, int) - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public String apply(CharSequence src) { return CaseMapImpl.fold(internalOptions, src); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java index 6bd264b6b2c..a01ac9af182 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormatSymbols.java @@ -144,8 +144,7 @@ public class DecimalFormatSymbols implements Cloneable, Serializable { * @param locale the locale. * @param ns the numbering system. * @return A DecimalFormatSymbols instance. - * @provisional This API might change or be removed in a future release. - * @draft ICU 60 + * @stable ICU 60 */ public static DecimalFormatSymbols forNumberingSystem(Locale locale, NumberingSystem ns) { return new DecimalFormatSymbols(locale, ns); @@ -164,8 +163,7 @@ public class DecimalFormatSymbols implements Cloneable, Serializable { * @param locale the locale. * @param ns the numbering system. * @return A DecimalFormatSymbols instance. - * @provisional This API might change or be removed in a future release. - * @draft ICU 60 + * @stable ICU 60 */ public static DecimalFormatSymbols forNumberingSystem(ULocale locale, NumberingSystem ns) { return new DecimalFormatSymbols(locale, ns); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/Edits.java b/icu4j/main/classes/core/src/com/ibm/icu/text/Edits.java index 89b46478744..2cd080a28fb 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/Edits.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/Edits.java @@ -247,8 +247,7 @@ public final class Edits { /** * @return the number of change edits - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public int numberOfChanges() { return numChanges; } @@ -580,8 +579,7 @@ public final class Edits { * * @param i destination index * @return true if the edit for the destination index was found - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public boolean findDestinationIndex(int i) { return findIndex(i, false) == 0; @@ -691,8 +689,7 @@ public final class Edits { * * @param i source index * @return destination index; undefined if i is not 0..string length - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public int destinationIndexFromSourceIndex(int i) { int where = findIndex(i, true); @@ -730,8 +727,7 @@ public final class Edits { * * @param i destination index * @return source index; undefined if i is not 0..string length - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public int sourceIndexFromDestinationIndex(int i) { int where = findIndex(i, false); @@ -922,8 +918,7 @@ public final class Edits { * @param bc reflects how substrings of intermediate string b * map to substrings of output string c. * @return this, with the merged edits appended - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public Edits mergeAndAppend(Edits ab, Edits bc) { // Picture string a --(Edits ab)--> string b --(Edits bc)--> string c. diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/FilteredBreakIteratorBuilder.java b/icu4j/main/classes/core/src/com/ibm/icu/text/FilteredBreakIteratorBuilder.java index 081ab393c3a..7c6b3746b0f 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/FilteredBreakIteratorBuilder.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/FilteredBreakIteratorBuilder.java @@ -24,8 +24,7 @@ import com.ibm.icu.util.ULocale; * *

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 */ public abstract class FilteredBreakIteratorBuilder { @@ -38,8 +37,7 @@ public abstract class FilteredBreakIteratorBuilder { * of the CLDR exception data. * @param where the locale. * @return the new builder - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public static final FilteredBreakIteratorBuilder getInstance(Locale where) { return new SimpleFilteredSentenceBreakIterator.Builder(where); @@ -54,8 +52,7 @@ public abstract class FilteredBreakIteratorBuilder { * of the CLDR exception data. * @param where the locale. * @return the new builder - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public static final FilteredBreakIteratorBuilder getInstance(ULocale where) { return new SimpleFilteredSentenceBreakIterator.Builder(where); @@ -65,8 +62,7 @@ public abstract class FilteredBreakIteratorBuilder { * Construct an empty FilteredBreakIteratorBuilder. * In this state, it will not suppress any segment boundaries. * @return the new builder - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public static final FilteredBreakIteratorBuilder getEmptyInstance() { return new SimpleFilteredSentenceBreakIterator.Builder(); @@ -79,8 +75,7 @@ public abstract class FilteredBreakIteratorBuilder { * @param str the string to suppress, such as "Mr." * @return true if the string was not present and now added, * false if the call was a no-op because the string was already being suppressed. - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public abstract boolean suppressBreakAfter(CharSequence str); @@ -92,8 +87,7 @@ public abstract class FilteredBreakIteratorBuilder { * @param str the str the string to unsuppress, such as "Mr." * @return true if the string was present and now removed, * false if the call was a no-op because the string was not being suppressed. - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public abstract boolean unsuppressBreakAfter(CharSequence str); @@ -104,8 +98,7 @@ public abstract class FilteredBreakIteratorBuilder { * The FilteredBreakIteratorBuilder may be reused. * @param wrappedBreakIterator the break iterator to wrap * @return the new BreakIterator - * @draft ICU 60 - * @provisional This API might change or be removed in a future release. + * @stable ICU 60 */ public abstract BreakIterator wrapIteratorWithFilter(BreakIterator wrappedBreakIterator); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/NumberingSystem.java b/icu4j/main/classes/core/src/com/ibm/icu/text/NumberingSystem.java index 80741919e47..c23246eab2c 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/text/NumberingSystem.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/text/NumberingSystem.java @@ -40,13 +40,14 @@ public class NumberingSystem { * For convenience, an instance representing the latn numbering system, which * corresponds to digits in the ASCII range '0' through '9'. * - * @draft ICU 60 + * @stable ICU 60 */ public static final NumberingSystem LATIN = lookupInstanceByName("latn"); /** - * Default constructor. Returns a numbering system that uses the Western decimal - * digits 0 through 9. + * Default constructor. Returns a numbering system that uses the Latin-script decimal + * digits 0 through 9. This should be equivalent to NumberingSystem.LATIN. + * * @stable ICU 4.2 */ public NumberingSystem() { diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java b/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java index 36c8d442931..f1f400c6eb6 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/Currency.java @@ -328,7 +328,7 @@ public class Currency extends MeasureUnit { * * @param currency The Java currency object to convert. * @return An equivalent ICU currency object. - * @draft ICU 60 + * @stable ICU 60 */ public static Currency fromJavaCurrency(java.util.Currency currency) { return getInstance(currency.getCurrencyCode()); @@ -338,7 +338,7 @@ public class Currency extends MeasureUnit { * Returns a java.util.Currency object based on the currency represented by this Currency. * * @return An equivalent Java currency object. - * @draft ICU 60 + * @stable ICU 60 */ public java.util.Currency toJavaCurrency() { return java.util.Currency.getInstance(getCurrencyCode()); diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/CurrencyAmount.java b/icu4j/main/classes/core/src/com/ibm/icu/util/CurrencyAmount.java index 7f92d8ed95a..884c359d8a9 100644 --- a/icu4j/main/classes/core/src/com/ibm/icu/util/CurrencyAmount.java +++ b/icu4j/main/classes/core/src/com/ibm/icu/util/CurrencyAmount.java @@ -48,7 +48,7 @@ public class CurrencyAmount extends Measure { * Constructs a new object given a number and a Java currency. * @param number the number * @param currency the currency - * @draft ICU 60 + * @stable ICU 60 */ public CurrencyAmount(Number number, java.util.Currency currency) { this(number, Currency.fromJavaCurrency(currency)); @@ -58,7 +58,7 @@ public class CurrencyAmount extends Measure { * Constructs a new object given a double value and a Java currency. * @param number a double value * @param currency the currency - * @draft ICU 60 + * @stable ICU 60 */ public CurrencyAmount(double number, java.util.Currency currency) { this(number, Currency.fromJavaCurrency(currency));