ICU-21480 BRS#18 ICU4J promotions to stable
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 99e9ae3..7a1f6c0 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
@@ -212,7 +212,7 @@
* <p>
* Behavior of this option with non-currency units is not defined at this time.
*
- * @draft ICU 67
+ * @stable ICU 67
* @see NumberFormatter
*/
FORMAL,
@@ -224,7 +224,7 @@
* <p>
* Behavior of this option with non-currency units is not defined at this time.
*
- * @draft ICU 67
+ * @stable ICU 67
* @see NumberFormatter
*/
VARIANT,
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
index 811e868..c8460b4 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyDisplayNames.java
@@ -149,7 +149,7 @@
*
* @param isoCode the three-letter ISO code.
* @return the formal symbol.
- * @draft ICU 67
+ * @stable ICU 67
*/
public abstract String getFormalSymbol(String isoCode);
@@ -164,7 +164,7 @@
*
* @param isoCode the three-letter ISO code.
* @return the variant symbol.
- * @draft ICU 67
+ * @stable ICU 67
*/
public abstract String getVariantSymbol(String isoCode);
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
index 5d5a9d0..6cd03d6 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
@@ -537,30 +537,30 @@
/**
* Hour Cycle
- * @draft ICU 67
+ * @stable ICU 67
*/
public enum HourCycle {
/**
* hour in am/pm (0~11)
- * @draft ICU 67
+ * @stable ICU 67
*/
HOUR_CYCLE_11,
/**
* hour in am/pm (1~12)
- * @draft ICU 67
+ * @stable ICU 67
*/
HOUR_CYCLE_12,
/**
* hour in day (0~23)
- * @draft ICU 67
+ * @stable ICU 67
*/
HOUR_CYCLE_23,
/**
* hour in day (1~24)
- * @draft ICU 67
+ * @stable ICU 67
*/
HOUR_CYCLE_24;
};
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java b/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
index 8a09b68..528eed8 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/DateTimePatternGenerator.java
@@ -1357,7 +1357,7 @@
/**
* Return the default hour cycle.
- * @draft ICU 67
+ * @stable ICU 67
*/
public DateFormat.HourCycle getDefaultHourCycle() {
switch(getDefaultHourFormatChar()) {
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java b/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
index 9baff8d..fee273c 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
@@ -53,13 +53,13 @@
/**
* Type of meaning expressed by the list.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public enum Type {
/**
* Conjunction formatting, e.g. "Alice, Bob, Charlie, and Delta".
*
- * @draft ICU 67
+ * @stable ICU 67
*/
AND,
@@ -67,14 +67,14 @@
* Disjunction (or alternative, or simply one of) formatting, e.g.
* "Alice, Bob, Charlie, or Delta".
*
- * @draft ICU 67
+ * @stable ICU 67
*/
OR,
/**
* Formatting of a list of values with units, e.g. "5 pounds, 12 ounces".
*
- * @draft ICU 67
+ * @stable ICU 67
*/
UNITS
};
@@ -82,27 +82,27 @@
/**
* Verbosity level of the list patterns.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public enum Width {
/**
* Use list formatting with full words (no abbreviations) when possible.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
WIDE,
/**
* Use list formatting of typical length.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
SHORT,
/**
* Use list formatting of the shortest possible length.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
NARROW,
};
@@ -110,7 +110,7 @@
/**
* Class for span fields in FormattedList.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final class SpanField extends UFormat.SpanField {
private static final long serialVersionUID = 3563544214705634403L;
@@ -121,7 +121,7 @@
* Instances of LIST_SPAN should have an associated value, the index
* within the input list that is represented by the span.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final SpanField LIST_SPAN = new SpanField("list-span");
@@ -147,20 +147,20 @@
/**
* Field selectors for format fields defined by ListFormatter.
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final class Field extends Format.Field {
private static final long serialVersionUID = -8071145668708265437L;
/**
* The literal text in the result which came from the resources.
- * @draft ICU 67
+ * @stable ICU 67
*/
public static Field LITERAL = new Field("literal");
/**
* The element text in the result which came from the input strings.
- * @draft ICU 67
+ * @stable ICU 67
*/
public static Field ELEMENT = new Field("element");
@@ -191,7 +191,7 @@
*
* Not intended for public subclassing.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final class FormattedList implements FormattedValue {
private final FormattedStringBuilder string;
@@ -202,7 +202,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public String toString() {
@@ -211,7 +211,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public int length() {
@@ -220,7 +220,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public char charAt(int index) {
@@ -229,7 +229,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public CharSequence subSequence(int start, int end) {
@@ -238,7 +238,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public <A extends Appendable> A appendTo(A appendable) {
@@ -247,7 +247,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public boolean nextPosition(ConstrainedFieldPosition cfpos) {
@@ -256,7 +256,7 @@
/**
* {@inheritDoc}
- * @draft ICU 67
+ * @stable ICU 67
*/
@Override
public AttributedCharacterIterator toCharacterIterator() {
@@ -310,7 +310,7 @@
* @param locale
* the locale in question.
* @return ListFormatter
- * @draft ICU 67
+ * @stable ICU 67
*/
public static ListFormatter getInstance(ULocale locale, Type type, Width width) {
String styleName = typeWidthToStyleString(type, width);
@@ -326,7 +326,7 @@
* @param locale
* the locale in question.
* @return ListFormatter
- * @draft ICU 67
+ * @stable ICU 67
*/
public static ListFormatter getInstance(Locale locale, Type type, Width width) {
return getInstance(ULocale.forLocale(locale), type, width);
@@ -397,7 +397,7 @@
* @param items
* items to format. The toString() method is called on each.
* @return items formatted into a FormattedList
- * @draft ICU 67
+ * @stable ICU 67
*/
public FormattedList formatToValue(Object... items) {
return formatToValue(Arrays.asList(items));
@@ -411,7 +411,7 @@
* @param items
* items to format. The toString() method is called on each.
* @return items formatted into a FormattedList
- * @draft ICU 67
+ * @stable ICU 67
*/
public FormattedList formatToValue(Collection<?> items) {
return formatImpl(items, true).toValue();
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 2c40e55..03bcc1f 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
@@ -106,7 +106,7 @@
* but it always takes the form used in formal settings such as banking;
* for example, "NT$" instead of "$" for TWD in zh-TW.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final int FORMAL_SYMBOL_NAME = 4;
@@ -116,7 +116,7 @@
* The variant symbol for a currency is an alternative symbol that is not
* necessarily as widely used as the regular symbol.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
public static final int VARIANT_SYMBOL_NAME = 5;
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 07ae888..84bcc88 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
@@ -164,20 +164,20 @@
* but not if it is merely a fallback.
*
* @see LocaleMatcher.Builder#setDirection(LocaleMatcher.Direction)
- * @draft ICU 67
+ * @stable ICU 67
*/
public enum Direction {
/**
* Locale matching includes one-way matches such as Breton→French. (default)
*
- * @draft ICU 67
+ * @stable ICU 67
*/
WITH_ONE_WAY,
/**
* Locale matching limited to two-way matches including e.g. Danish↔Norwegian
* but ignoring one-way matches.
*
- * @draft ICU 67
+ * @stable ICU 67
*/
ONLY_TWO_WAY
}
@@ -522,7 +522,7 @@
*
* @param direction the match direction to set.
* @return this Builder object
- * @draft ICU 67
+ * @stable ICU 67
*/
public Builder setDirection(Direction direction) {
this.direction = direction;
diff --git a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
index 5727b37..7798ead 100644
--- a/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
+++ b/icu4j/main/classes/core/src/com/ibm/icu/util/ULocale.java
@@ -501,7 +501,7 @@
* Creates a ULocale from the locale by first canonicalizing the locale according to CLDR.
* @param locale the ULocale to canonicalize
* @return the ULocale created from the canonical version of the ULocale.
- * @draft ICU 67
+ * @stable ICU 67
*/
public static ULocale createCanonical(ULocale locale) {
return createCanonical(locale.getName());