From 364124dae57845e1f8ba334cc54d410e7119868c Mon Sep 17 00:00:00 2001 From: Yoshito Umaoka Date: Thu, 22 Feb 2018 06:47:34 +0000 Subject: [PATCH] ICU-13607 Draft API promotion for ICU4J 61. Also added a new build target draftAPIsTSV for generating a list of draft APIs in TSV format. X-SVN-Rev: 40975 --- icu4j/APIChangeReport.html | 287 ++++-------------- icu4j/build.xml | 15 +- .../core/src/com/ibm/icu/text/CaseMap.java | 63 ++-- .../core/src/com/ibm/icu/text/Edits.java | 60 ++-- .../src/com/ibm/icu/util/MeasureUnit.java | 3 +- 5 files changed, 116 insertions(+), 312 deletions(-) diff --git a/icu4j/APIChangeReport.html b/icu4j/APIChangeReport.html index a9e65cbae44..43450543dc1 100644 --- a/icu4j/APIChangeReport.html +++ b/icu4j/APIChangeReport.html @@ -2,298 +2,131 @@ - + -ICU4J API Comparison: ICU4J 59.1 with ICU4J 60.1 +ICU4J API Comparison: ICU4J 60.1 with ICU4J 61.1 -

ICU4J API Comparison: ICU4J 59.1 with ICU4J 60.1

+

ICU4J API Comparison: ICU4J 60.1 with ICU4J 61.1


-

Removed from ICU4J 59.1

-

(no API removed)

+

Removed from ICU4J 60.1

-
-

Deprecated or Obsoleted in ICU4J 60.1

- -

Package com.ibm.icu.util

+

Package com.ibm.icu.text


-

Changed in ICU4J 60.1 (old, new)

-

(no API changed)

+

Deprecated or Obsoleted in ICU4J 61.1

+

(no API obsoleted)


-

Promoted to stable in ICU4J 60.1

+

Changed in ICU4J 61.1 (old, new)

+

(no API changed)

-

Package com.ibm.icu.lang

- +
+

Promoted to stable in ICU4J 61.1

Package com.ibm.icu.text

Package com.ibm.icu.util


-

Added in ICU4J 60.1

- -

Package com.ibm.icu.lang

- +

Added in ICU4J 61.1

Package com.ibm.icu.number

Package com.ibm.icu.text

Package com.ibm.icu.util


-

Contents generated by ReportAPI tool on Tue Oct 03 00:54:21 EDT 2017
© 2017 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html#License

+

Contents generated by ReportAPI tool on Thu Feb 22 01:34:48 EST 2018
© 2018 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html#License

diff --git a/icu4j/build.xml b/icu4j/build.xml index 651f1d27d58..3c608774acf 100644 --- a/icu4j/build.xml +++ b/icu4j/build.xml @@ -1750,7 +1750,7 @@ - + @@ -1762,6 +1762,19 @@ + + + + + + + + + + + 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 67a13a8e390..8680714a1f4 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 @@ -15,8 +15,7 @@ import com.ibm.icu.util.ULocale; * * This class is not intended for public subclassing. * - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public abstract class CaseMap { /** @@ -37,26 +36,22 @@ public abstract class CaseMap { /** * @return Lowercasing object with default options. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static Lower toLower() { return Lower.DEFAULT; } /** * @return Uppercasing object with default options. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static Upper toUpper() { return Upper.DEFAULT; } /** * @return Titlecasing object with default options. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static Title toTitle() { return Title.DEFAULT; } /** * @return Case folding object with default options. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static Fold fold() { return Fold.DEFAULT; } @@ -65,8 +60,7 @@ public abstract class CaseMap { * omits unchanged text when case-mapping with {@link Edits}. * * @return an options object with this option. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public abstract CaseMap omitUnchangedText(); @@ -74,8 +68,7 @@ public abstract class CaseMap { * Lowercasing options and methods. Immutable. * * @see #toLower() - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final class Lower extends CaseMap { private static final Lower DEFAULT = new Lower(0); @@ -84,8 +77,7 @@ public abstract class CaseMap { /** * {@inheritDoc} - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ @Override public Lower omitUnchangedText() { @@ -125,8 +117,7 @@ public abstract class CaseMap { * @return dest with the result string (or only changes) appended. * * @see UCharacter#toLowerCase(Locale, String) - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public A apply( Locale locale, CharSequence src, A dest, Edits edits) { @@ -138,8 +129,7 @@ public abstract class CaseMap { * Uppercasing options and methods. Immutable. * * @see #toUpper() - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final class Upper extends CaseMap { private static final Upper DEFAULT = new Upper(0); @@ -148,8 +138,7 @@ public abstract class CaseMap { /** * {@inheritDoc} - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ @Override public Upper omitUnchangedText() { @@ -189,8 +178,7 @@ public abstract class CaseMap { * @return dest with the result string (or only changes) appended. * * @see UCharacter#toUpperCase(Locale, String) - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public A apply( Locale locale, CharSequence src, A dest, Edits edits) { @@ -202,8 +190,7 @@ public abstract class CaseMap { * Titlecasing options and methods. Immutable. * * @see #toTitle() - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final class Title extends CaseMap { private static final Title DEFAULT = new Title(0); @@ -248,8 +235,7 @@ public abstract class CaseMap { /** * {@inheritDoc} - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ @Override public Title omitUnchangedText() { @@ -271,8 +257,7 @@ public abstract class CaseMap { * @return an options object with this option. * @see UCharacter#TITLECASE_NO_LOWERCASE * @see #adjustToCased() - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Title noLowercase() { return new Title(internalOptions | UCharacter.TITLECASE_NO_LOWERCASE); @@ -291,8 +276,7 @@ public abstract class CaseMap { * * @return an options object with this option. * @see UCharacter#TITLECASE_NO_BREAK_ADJUSTMENT - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Title noBreakAdjustment() { return new Title(CaseMapImpl.addTitleAdjustmentOption( @@ -380,8 +364,7 @@ public abstract class CaseMap { * @return dest with the result string (or only changes) appended. * * @see UCharacter#toTitleCase(Locale, String, BreakIterator, int) - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public A apply( Locale locale, BreakIterator iter, CharSequence src, A dest, Edits edits) { @@ -399,8 +382,7 @@ public abstract class CaseMap { * Case folding options and methods. Immutable. * * @see #fold() - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final class Fold extends CaseMap { private static final Fold DEFAULT = new Fold(0); @@ -412,8 +394,7 @@ public abstract class CaseMap { /** * {@inheritDoc} - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ @Override public Fold omitUnchangedText() { @@ -431,8 +412,7 @@ public abstract class CaseMap { * * @return an options object with this option. * @see UCharacter#FOLD_CASE_EXCLUDE_SPECIAL_I - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Fold turkic() { return (internalOptions & CaseMapImpl.OMIT_UNCHANGED_TEXT) == 0 ? @@ -474,8 +454,7 @@ public abstract class CaseMap { * @return dest with the result string (or only changes) appended. * * @see UCharacter#foldCase(String, int) - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public A apply(CharSequence src, A dest, Edits edits) { return CaseMapImpl.fold(internalOptions, src, dest, edits); 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 aede16b9429..0a076bb888c 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 @@ -10,8 +10,7 @@ import java.util.Arrays; * Supports replacements, insertions, deletions in linear progression. * Does not support moving/reordering of text. * - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public final class Edits { // 0000uuuuuuuuuuuu records u+1 unchanged text units. @@ -40,8 +39,7 @@ public final class Edits { /** * Constructs an empty object. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Edits() { array = new char[STACK_CAPACITY]; @@ -49,8 +47,7 @@ public final class Edits { /** * Resets the data but may not release memory. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public void reset() { length = delta = numChanges = 0; @@ -66,8 +63,7 @@ public final class Edits { /** * Adds a record for an unchanged segment of text. * Normally called from inside ICU string transformation functions, not user code. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public void addUnchanged(int unchangedLength) { if(unchangedLength < 0) { @@ -99,8 +95,7 @@ public final class Edits { /** * Adds a record for a text replacement/insertion/deletion. * Normally called from inside ICU string transformation functions, not user code. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public void addReplace(int oldLength, int newLength) { if(oldLength < 0 || newLength < 0) { @@ -197,14 +192,12 @@ public final class Edits { /** * How much longer is the new text compared with the old text? * @return new length minus old length - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int lengthDelta() { return delta; } /** * @return true if there are any change edits - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public boolean hasChanges() { return numChanges != 0; } @@ -219,8 +212,7 @@ public final class Edits { * Access to the list of edits. * @see #getCoarseIterator * @see #getFineIterator - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final class Iterator { private final char[] array; @@ -291,8 +283,7 @@ public final class Edits { /** * Advances to the next edit. * @return true if there is another edit - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public boolean next() { return next(onlyChanges_); @@ -511,8 +502,7 @@ public final class Edits { * * @param i source index * @return true if the edit for the source index was found - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public boolean findSourceIndex(int i) { return findIndex(i, true) == 0; @@ -707,41 +697,35 @@ public final class Edits { /** * @return true if this edit replaces oldLength() units with newLength() different ones. * false if oldLength units remain unchanged. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public boolean hasChange() { return changed; } /** * @return the number of units in the original string which are replaced or remain unchanged. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int oldLength() { return oldLength_; } /** * @return the number of units in the modified string, if hasChange() is true. * Same as oldLength if hasChange() is false. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int newLength() { return newLength_; } /** * @return the current index into the source string - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int sourceIndex() { return srcIndex; } /** * @return the current index into the replacement-characters-only string, * not counting unchanged spans - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int replacementIndex() { return replIndex; } /** * @return the current index into the full destination string - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public int destinationIndex() { return destIndex; } }; @@ -750,8 +734,7 @@ public final class Edits { * Returns an Iterator for coarse-grained changes for simple string updates. * Skips non-changes. * @return an Iterator that merges adjacent changes. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Iterator getCoarseChangesIterator() { return new Iterator(array, length, true, true); @@ -760,8 +743,7 @@ public final class Edits { /** * Returns an Iterator for coarse-grained changes and non-changes for simple string updates. * @return an Iterator that merges adjacent changes. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Iterator getCoarseIterator() { return new Iterator(array, length, false, true); @@ -771,8 +753,7 @@ public final class Edits { * Returns an Iterator for fine-grained changes for modifying styled text. * Skips non-changes. * @return an Iterator that separates adjacent changes. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Iterator getFineChangesIterator() { return new Iterator(array, length, true, false); @@ -781,8 +762,7 @@ public final class Edits { /** * Returns an Iterator for fine-grained changes and non-changes for modifying styled text. * @return an Iterator that separates adjacent changes. - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public Iterator getFineIterator() { return new Iterator(array, length, false, false); 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 50ebcc1e630..9aec536d019 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 @@ -843,8 +843,7 @@ public class MeasureUnit implements Serializable { /** * Constant for unit of length: point - * @draft ICU 59 - * @provisional This API might change or be removed in a future release. + * @stable ICU 59 */ public static final MeasureUnit POINT = MeasureUnit.internalGetInstance("length", "point"); -- 2.40.0