]> granicus.if.org Git - icu/commitdiff
ICU-10763 ICU4J 53 API status updates.
authorYoshito Umaoka <y.umaoka@gmail.com>
Thu, 13 Mar 2014 04:45:07 +0000 (04:45 +0000)
committerYoshito Umaoka <y.umaoka@gmail.com>
Thu, 13 Mar 2014 04:45:07 +0000 (04:45 +0000)
X-SVN-Rev: 35452

21 files changed:
icu4j/APIChangeReport.html
icu4j/main/classes/collate/src/com/ibm/icu/text/AlphabeticIndex.java
icu4j/main/classes/collate/src/com/ibm/icu/text/RuleBasedCollator.java
icu4j/main/classes/collate/src/com/ibm/icu/text/StringSearch.java
icu4j/main/classes/core/src/com/ibm/icu/lang/UScript.java
icu4j/main/classes/core/src/com/ibm/icu/text/CompactDecimalFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/CurrencyMetaInfo.java
icu4j/main/classes/core/src/com/ibm/icu/text/DateFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/DateFormatSymbols.java
icu4j/main/classes/core/src/com/ibm/icu/text/DateIntervalFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/DecimalFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/DisplayContext.java
icu4j/main/classes/core/src/com/ibm/icu/text/ListFormatter.java
icu4j/main/classes/core/src/com/ibm/icu/text/LocaleDisplayNames.java
icu4j/main/classes/core/src/com/ibm/icu/text/MeasureFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/RelativeDateTimeFormatter.java
icu4j/main/classes/core/src/com/ibm/icu/text/SpoofChecker.java
icu4j/main/classes/core/src/com/ibm/icu/text/TimeUnitFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneFormat.java
icu4j/main/classes/core/src/com/ibm/icu/text/TimeZoneNames.java

index dee6d6a95c33152aa9aef9fd54a5c2719bc5720d..ab07b1797e6e588abd14dbf2c00f33c9933838d8 100644 (file)
@@ -2,11 +2,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>ICU4J API Comparison: ICU4J 52.1 with ICU4J 53.0.1</title>
+<title>ICU4J API Comparison: ICU4J 52.1 with ICU4J 53.1.0</title>
 <!-- Copyright 2014, IBM, All Rights Reserved. -->
 </head>
 <body>
-<h1>ICU4J API Comparison: ICU4J 52.1 with ICU4J 53.0.1</h1>
+<h1>ICU4J API Comparison: ICU4J 52.1 with ICU4J 53.1.0</h1>
 
 <hr/>
 <h2>Removed from ICU4J 52.1</h2>
@@ -40,10 +40,13 @@ RuleBasedBreakIterator
 <li><span style='color:orange'>(draft)</span> public static final int WORD_NUMBER</li>
 <li><span style='color:orange'>(draft)</span> public static final int WORD_NUMBER_LIMIT</li>
 </ul>
+RuleBasedCollator
+<ul>
+<li><span style='color:green'>(stable)</span> public static int[] <i>getEquivalentReorderCodes</i>(int)</li>
+</ul>
 SimpleDateFormat
 <ul>
 <li><span style='color:orange'>(draft)</span> public DisplayContext <i>getContext</i>(DisplayContext.Type)</li>
-<li><span style='color:orange'>(draft)</span> public void <i>setContext</i>(DisplayContext)</li>
 </ul>
 </ul>
 
@@ -75,18 +78,39 @@ TimeUnit
 
 
 <hr/>
-<h2>Deprecated or Obsoleted in ICU4J 53.0.1</h2>
-<p>(no API obsoleted)</p>
+<h2>Deprecated or Obsoleted in ICU4J 53.1.0</h2>
+
+<h3>Package com.ibm.icu.text</h3>
+<ul>
+<li><span style='color:gray'>(deprecated)</span> public class <i>TimeUnitFormat</i></li>
+Collator
+<ul>
+<li><span style='color:gray'>(deprecated)</span> public abstract int <i>setVariableTop</i>(java.lang.String)</li>
+<li><span style='color:gray'>(deprecated)</span> public abstract void <i>setVariableTop</i>(int)</li>
+</ul>
+RuleBasedCollator
+<ul>
+<li><span style='color:gray'>(deprecated)</span> public int <i>setVariableTop</i>(java.lang.String)</li>
+<li><span style='color:gray'>(deprecated)</span> public void <i>setVariableTop</i>(int)</li>
+</ul>
+SpoofChecker
+<ul>
+<li><span style='color:gray'>(deprecated)</span> public static final int SINGLE_SCRIPT</li>
+</ul>
+</ul>
+
 
 <hr/>
-<h2>Changed in ICU4J 53.0.1 (old, new)</h2>
+<h2>Changed in ICU4J 53.1.0 (old, new)</h2>
 
 <h3>Package com.ibm.icu.text</h3>
 <ul>
+<li>    <span style='color:green'>(stable)</span> public abstract class <i>Collator</i> extends java.lang.Object implements java.util.Comparator, com.ibm.icu.util.Freezable</br>
+<span style='color:green'>(stable)</span> public abstract class <i>Collator</i> extends java.lang.Object implements java.util.Comparator, com.ibm.icu.util.Freezable, java.lang.Cloneable</li>
 TimeUnitFormat
 <ul>
 <li>    <span style='color:green'>(stable)</span> public java.lang.Object <i>parseObject</i>(java.lang.String, java.text.ParsePosition)</br>
-<span style='color:green'>(stable)</span> public com.ibm.icu.util.TimeUnitAmount <i>parseObject</i>(java.lang.String, java.text.ParsePosition)</li>
+<span style='color:gray'>(deprecated)</span> public com.ibm.icu.util.TimeUnitAmount <i>parseObject</i>(java.lang.String, java.text.ParsePosition)</li>
 </ul>
 </ul>
 
@@ -94,18 +118,55 @@ TimeUnitFormat
 <ul>
 <li>    <span style='color:green'>(stable)</span> public class <i>Currency</i> extends com.ibm.icu.util.MeasureUnit implements java.io.Serializable</br>
 <span style='color:green'>(stable)</span> public class <i>Currency</i> extends com.ibm.icu.util.MeasureUnit</li>
+LocalePriorityList
+<ul>
+<li>    <span style='color:green'>(stable)</span> public static com.ibm.icu.util.LocalePriorityList.Builder <i>add</i>(com.ibm.icu.util.ULocale)</br>
+<span style='color:green'>(stable)</span> public static com.ibm.icu.util.LocalePriorityList.Builder <i>add</i>(com.ibm.icu.util.ULocale...)</li>
 <li>    <span style='color:green'>(stable)</span> public class <i>MeasureUnit</i> extends java.lang.Object implements java.lang.Comparable, java.io.Serializable</br>
 <span style='color:green'>(stable)</span> public class <i>MeasureUnit</i> extends java.lang.Object implements java.io.Serializable</li>
 <li>    <span style='color:green'>(stable)</span> public final class <i>ULocale</i> extends java.lang.Object implements java.io.Serializable</br>
 <span style='color:green'>(stable)</span> public final class <i>ULocale</i> extends java.lang.Object implements java.io.Serializable, java.lang.Comparable</li>
 </ul>
+</ul>
 
 
 <hr/>
-<h2>Promoted to stable in ICU4J 53.0.1</h2>
+<h2>Promoted to stable in ICU4J 53.1.0</h2>
+
+<h3>Package com.ibm.icu.lang</h3>
+<ul>
+<li><span style='color:green'>(stable)</span> public static enum <i>UScript.ScriptUsage</i></li>
+UScript
+<ul>
+<li><span style='color:green'>(stable)</span> public static final boolean <i>breaksBetweenLetters</i>(int)</li>
+<li><span style='color:green'>(stable)</span> public static final java.lang.String <i>getSampleString</i>(int)</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage <i>getUsage</i>(int)</li>
+<li><span style='color:green'>(stable)</span> public static final boolean <i>isCased</i>(int)</li>
+<li><span style='color:green'>(stable)</span> public static final boolean <i>isRightToLeft</i>(int)</li>
+</ul>
+UScript.ScriptUsage
+<ul>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage ASPIRATIONAL</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage EXCLUDED</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage LIMITED_USE</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage NOT_ENCODED</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage RECOMMENDED</li>
+<li><span style='color:green'>(stable)</span> public static final UScript.ScriptUsage UNKNOWN</li>
+</ul>
+</ul>
 
 <h3>Package com.ibm.icu.text</h3>
 <ul>
+<li><span style='color:green'>(stable)</span> public static final class <i>AlphabeticIndex.ImmutableIndex</i></li>
+<li><span style='color:green'>(stable)</span> public final class <i>ListFormatter</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>CompactDecimalFormat.CompactStyle</i></li>
+<li><span style='color:green'>(stable)</span> public enum <i>DisplayContext</i></li>
+<li><span style='color:green'>(stable)</span> public static enum <i>DisplayContext.Type</i></li>
+AlphabeticIndex
+<ul>
+<li><span style='color:green'>(stable)</span> public <i>AlphabeticIndex</i>(RuleBasedCollator)</li>
+<li><span style='color:green'>(stable)</span> public AlphabeticIndex.ImmutableIndex&lt;V&gt; <i>buildImmutableIndex</i>()</li>
+</ul>
 AlphabeticIndex.Bucket.LabelType
 <ul>
 <li><span style='color:green'>(stable)</span> public static final AlphabeticIndex.Bucket.LabelType INFLOW</li>
@@ -113,11 +174,99 @@ AlphabeticIndex.Bucket.LabelType
 <li><span style='color:green'>(stable)</span> public static final AlphabeticIndex.Bucket.LabelType OVERFLOW</li>
 <li><span style='color:green'>(stable)</span> public static final AlphabeticIndex.Bucket.LabelType UNDERFLOW</li>
 </ul>
+CompactDecimalFormat.CompactStyle
+<ul>
+<li><span style='color:green'>(stable)</span> public static final CompactDecimalFormat.CompactStyle LONG</li>
+<li><span style='color:green'>(stable)</span> public static final CompactDecimalFormat.CompactStyle SHORT</li>
+</ul>
+CurrencyMetaInfo.CurrencyFilter
+<ul>
+<li><span style='color:green'>(stable)</span> public static CurrencyMetaInfo.CurrencyFilter <i>onDate</i>(long)</li>
+<li><span style='color:green'>(stable)</span> public static CurrencyMetaInfo.CurrencyFilter <i>onDateRange</i>(long, long)</li>
+<li><span style='color:green'>(stable)</span> public static CurrencyMetaInfo.CurrencyFilter <i>onTender</i>()</li>
+<li><span style='color:green'>(stable)</span> public CurrencyMetaInfo.CurrencyFilter <i>withDate</i>(long)</li>
+<li><span style='color:green'>(stable)</span> public CurrencyMetaInfo.CurrencyFilter <i>withDateRange</i>(long, long)</li>
+<li><span style='color:green'>(stable)</span> public CurrencyMetaInfo.CurrencyFilter <i>withTender</i>()</li>
+</ul>
+CurrencyMetaInfo.CurrencyInfo
+<ul>
+<li><span style='color:green'>(stable)</span> public boolean <i>isTender</i>()</li>
+</ul>
+DateFormat
+<ul>
+<li><span style='color:green'>(stable)</span> public static final int TIMEZONE_ISO_FIELD</li>
+<li><span style='color:green'>(stable)</span> public static final int TIMEZONE_ISO_LOCAL_FIELD</li>
+<li><span style='color:green'>(stable)</span> public static final int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD</li>
+</ul>
+DateFormatSymbols
+<ul>
+<li><span style='color:green'>(stable)</span> public static final int SHORT</li>
+</ul>
+DecimalFormat
+<ul>
+<li><span style='color:green'>(stable)</span> public int <i>getParseMaxDigits</i>()</li>
+<li><span style='color:green'>(stable)</span> public void <i>setParseMaxDigits</i>(int)</li>
+</ul>
+DisplayContext
+<ul>
+<li><span style='color:green'>(stable)</span> public DisplayContext.Type <i>type</i>()</li>
+<li><span style='color:green'>(stable)</span> public int <i>value</i>()</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext CAPITALIZATION_FOR_STANDALONE</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext CAPITALIZATION_FOR_UI_LIST_OR_MENU</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext CAPITALIZATION_NONE</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext DIALECT_NAMES</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext STANDARD_NAMES</li>
+</ul>
+DisplayContext.Type
+<ul>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext.Type CAPITALIZATION</li>
+<li><span style='color:green'>(stable)</span> public static final DisplayContext.Type DIALECT_HANDLING</li>
+</ul>
+LocaleDisplayNames
+<ul>
+<li><span style='color:green'>(stable)</span> public abstract DisplayContext <i>getContext</i>(DisplayContext.Type)</li>
+<li><span style='color:green'>(stable)</span> public static LocaleDisplayNames <i>getInstance</i>(ULocale, DisplayContext...)</li>
+</ul>
+TimeZoneFormat
+<ul>
+<li><span style='color:green'>(stable)</span> public final java.lang.String <i>formatOffsetISO8601Basic</i>(int, boolean, boolean, boolean)</li>
+<li><span style='color:green'>(stable)</span> public final java.lang.String <i>formatOffsetISO8601Extended</i>(int, boolean, boolean, boolean)</li>
+<li><span style='color:green'>(stable)</span> public java.lang.String <i>formatOffsetShortLocalizedGMT</i>(int)</li>
+<li><span style='color:green'>(stable)</span> public int <i>parseOffsetShortLocalizedGMT</i>(java.lang.String, java.text.ParsePosition)</li>
+</ul>
+TimeZoneFormat.GMTOffsetPatternType
+<ul>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.GMTOffsetPatternType NEGATIVE_H</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.GMTOffsetPatternType POSITIVE_H</li>
+</ul>
+TimeZoneFormat.Style
+<ul>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style EXEMPLAR_LOCATION</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_FIXED</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_FULL</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_LOCAL_FIXED</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_LOCAL_FULL</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_LOCAL_SHORT</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_BASIC_SHORT</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_EXTENDED_FIXED</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_EXTENDED_FULL</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FIXED</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ISO_EXTENDED_LOCAL_FULL</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style LOCALIZED_GMT_SHORT</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ZONE_ID</li>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneFormat.Style ZONE_ID_SHORT</li>
+</ul>
+TimeZoneNames.NameType
+<ul>
+<li><span style='color:green'>(stable)</span> public static final TimeZoneNames.NameType EXEMPLAR_LOCATION</li>
+</ul>
 </ul>
 
 
 <hr/>
-<h2>Added in ICU4J 53.0.1</h2>
+<h2>Added in ICU4J 53.1.0</h2>
 
 <h3>Package com.ibm.icu.text</h3>
 <ul>
@@ -127,6 +276,8 @@ AlphabeticIndex.Bucket.LabelType
 <li><span style='color:orange'>(draft)</span> public static enum <i>RelativeDateTimeFormatter.AbsoluteUnit</i></li>
 <li><span style='color:orange'>(draft)</span> public static enum <i>RelativeDateTimeFormatter.Direction</i></li>
 <li><span style='color:orange'>(draft)</span> public static enum <i>RelativeDateTimeFormatter.RelativeUnit</i></li>
+<li><span style='color:orange'>(draft)</span> public static enum <i>SearchIterator.ElementComparisonType</i></li>
+<li><span style='color:orange'>(draft)</span> public static enum <i>SpoofChecker.RestrictionLevel</i></li>
 BreakIterator
 <ul>
 <li><span style='color:orange'>(draft)</span> public static final int WORD_IDEO</li>
@@ -140,6 +291,12 @@ BreakIterator
 <li><span style='color:orange'>(draft)</span> public static final int WORD_NUMBER</li>
 <li><span style='color:orange'>(draft)</span> public static final int WORD_NUMBER_LIMIT</li>
 </ul>
+Collator
+<ul>
+<li><span style='color:green'>(stable)</span> public boolean <i>equals</i>(java.lang.Object)</li>
+<li><span style='color:orange'>(draft)</span> public int <i>getMaxVariable</i>()</li>
+<li><span style='color:orange'>(draft)</span> public Collator <i>setMaxVariable</i>(int)</li>
+</ul>
 DateFormat
 <ul>
 <li><span style='color:orange'>(draft)</span> public boolean <i>getBooleanAttribute</i>(DateFormat.BooleanAttribute)</li>
@@ -151,17 +308,25 @@ DateFormat
 </ul>
 DateFormat.BooleanAttribute
 <ul>
+<li><span style='color:orange'>(draft)</span> public static final DateFormat.BooleanAttribute PARSE_ALLOW_NUMERIC</li>
+<li><span style='color:orange'>(draft)</span> public static final DateFormat.BooleanAttribute PARSE_ALLOW_WHITESPACE</li>
+<li><span style='color:orange'>(draft)</span> public static final DateFormat.BooleanAttribute PARSE_MULTIPLE_PATTERNS_FOR_MATCH</li>
 <li><span style='color:orange'>(draft)</span> public static final DateFormat.BooleanAttribute PARSE_PARTIAL_MATCH</li>
 </ul>
+DateIntervalFormat
+<ul>
+<li><span style='color:orange'>(draft)</span> public TimeZone <i>getTimeZone</i>()</li>
+<li><span style='color:orange'>(draft)</span> public void <i>setTimeZone</i>(TimeZone)</li>
+</ul>
 MeasureFormat
 <ul>
 <li><span style='color:orange'>(draft)</span> public final boolean <i>equals</i>(java.lang.Object)</li>
 <li><span style='color:orange'>(draft)</span> public java.lang.StringBuffer <i>format</i>(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)</li>
-<li><span style='color:orange'>(draft)</span> public T extends java.lang.Appendable <i>formatMeasures</i>(T, java.text.FieldPosition, Measure...)</li>
-<li><span style='color:orange'>(draft)</span> public java.lang.String <i>formatMeasures</i>(Measure...)</li>
+<li><span style='color:orange'>(draft)</span> public final java.lang.String <i>formatMeasures</i>(Measure...)</li>
+<li><span style='color:orange'>(draft)</span> public java.lang.StringBuilder <i>formatMeasures</i>(java.lang.StringBuilder, java.text.FieldPosition, Measure...)</li>
 <li><span style='color:orange'>(draft)</span> public static MeasureFormat <i>getInstance</i>(ULocale, MeasureFormat.FormatWidth)</li>
 <li><span style='color:orange'>(draft)</span> public static MeasureFormat <i>getInstance</i>(ULocale, MeasureFormat.FormatWidth, NumberFormat)</li>
-<li><span style='color:orange'>(draft)</span> public ULocale <i>getLocale</i>()</li>
+<li><span style='color:orange'>(draft)</span> public final ULocale <i>getLocale</i>()</li>
 <li><span style='color:orange'>(draft)</span> public NumberFormat <i>getNumberFormat</i>()</li>
 <li><span style='color:orange'>(draft)</span> public MeasureFormat.FormatWidth <i>getWidth</i>()</li>
 <li><span style='color:orange'>(draft)</span> public final int <i>hashCode</i>()</li>
@@ -176,6 +341,7 @@ MeasureFormat.FormatWidth
 </ul>
 NumberFormat
 <ul>
+<li><span style='color:orange'>(draft)</span> public static final int ACCOUNTINGCURRENCYSTYLE</li>
 <li><span style='color:orange'>(draft)</span> public DisplayContext <i>getContext</i>(DisplayContext.Type)</li>
 <li><span style='color:orange'>(draft)</span> public void <i>setContext</i>(DisplayContext)</li>
 </ul>
@@ -213,19 +379,46 @@ RelativeDateTimeFormatter.RelativeUnit
 <li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit WEEKS</li>
 <li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit YEARS</li>
 </ul>
-TimeUnitFormat
+RuleBasedCollator
 <ul>
-<li><span style='color:orange'>(draft)</span> public java.lang.Object <i>clone</i>()</li>
-<li><span style='color:orange'>(draft)</span> public T extends java.lang.Appendable <i>formatMeasures</i>(T, java.text.FieldPosition, Measure...)</li>
-<li><span style='color:orange'>(draft)</span> public java.lang.String <i>formatMeasures</i>(Measure...)</li>
-<li><span style='color:orange'>(draft)</span> public ULocale <i>getLocale</i>()</li>
-<li><span style='color:orange'>(draft)</span> public NumberFormat <i>getNumberFormat</i>()</li>
-<li><span style='color:orange'>(draft)</span> public MeasureFormat.FormatWidth <i>getWidth</i>()</li>
+<li><span style='color:green'>(stable)</span> public int <i>getDecomposition</i>()</li>
+<li><span style='color:orange'>(draft)</span> public ULocale <i>getLocale</i>(ULocale.Type)</li>
+<li><span style='color:orange'>(draft)</span> public int <i>getMaxVariable</i>()</li>
+<li><span style='color:green'>(stable)</span> public int <i>getStrength</i>()</li>
+<li><span style='color:green'>(stable)</span> public void <i>setDecomposition</i>(int)</li>
+<li><span style='color:orange'>(draft)</span> public RuleBasedCollator <i>setMaxVariable</i>(int)</li>
+</ul>
+RuleBasedNumberFormat
+<ul>
+<li><span style='color:orange'>(draft)</span> public void <i>setContext</i>(DisplayContext)</li>
+</ul>
+SearchIterator
+<ul>
+<li><span style='color:orange'>(draft)</span> public SearchIterator.ElementComparisonType <i>getElementComparisonType</i>()</li>
+<li><span style='color:orange'>(draft)</span> public void <i>setElementComparisonType</i>(SearchIterator.ElementComparisonType)</li>
+</ul>
+SearchIterator.ElementComparisonType
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final SearchIterator.ElementComparisonType ANY_BASE_WEIGHT_IS_WILDCARD</li>
+<li><span style='color:orange'>(draft)</span> public static final SearchIterator.ElementComparisonType PATTERN_BASE_WEIGHT_IS_WILDCARD</li>
+<li><span style='color:orange'>(draft)</span> public static final SearchIterator.ElementComparisonType STANDARD_ELEMENT_COMPARISON</li>
+</ul>
+SpoofChecker.RestrictionLevel
+<ul>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel ASCII</li>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel HIGHLY_RESTRICTIVE</li>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel MINIMALLY_RESTRICTIVE</li>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel MODERATELY_RESTRICTIVE</li>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel SINGLE_SCRIPT_RESTRICTIVE</li>
+<li><span style='color:orange'>(draft)</span> public static final SpoofChecker.RestrictionLevel UNRESTRICTIVE</li>
 </ul>
 </ul>
 
 <h3>Package com.ibm.icu.util</h3>
 <ul>
+<li><span style='color:orange'>(draft)</span> public class <i>ICUCloneNotSupportedException</i></li>
+<li><span style='color:orange'>(draft)</span> public class <i>ICUException</i></li>
+<li><span style='color:orange'>(draft)</span> public class <i>ICUUncheckedIOException</i></li>
 MeasureUnit
 <ul>
 <li><span style='color:orange'>(draft)</span> public static final MeasureUnit ACRE</li>
@@ -290,6 +483,6 @@ ULocale
 </ul>
 
 <hr/>
-<p><i><font size="-1">Contents generated by ReportAPI tool on Mon Jan 20 12:34:51 EST 2014<br/>Copyright (C) 2014, International Business Machines Corporation, All Rights Reserved.</font></i></p>
+<p><i><font size="-1">Contents generated by ReportAPI tool on Thu Mar 13 00:18:26 EDT 2014<br/>Copyright (C) 2014, International Business Machines Corporation, All Rights Reserved.</font></i></p>
 </body>
 </html>
index 60e4bfb87d774266a2a880daae293d6655043fb6..dd3804dd31d591091a64d6f422f7fef2d4376758 100644 (file)
@@ -164,8 +164,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
      *
      * @param <V> The Record value type is unused. It can be omitted for this class
      * if it was omitted for the AlphabeticIndex that built it.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final class ImmutableIndex<V> implements Iterable<Bucket<V>> {
         private final BucketList<V> buckets;
@@ -180,8 +179,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
          * Returns the number of index buckets and labels, including underflow/inflow/overflow.
          *
          * @return the number of index buckets
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public int getBucketCount() {
             return buckets.getBucketCount();
@@ -193,8 +191,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
          *
          * @param name the string to be sorted into an index bucket
          * @return the bucket number for the name
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public int getBucketIndex(CharSequence name) {
             return buckets.getBucketIndex(name, collatorPrimaryOnly);
@@ -205,8 +202,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
          *
          * @param index bucket number
          * @return the index-th bucket
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public Bucket<V> getBucket(int index) {
             if (0 <= index && index < buckets.getBucketCount()) {
@@ -218,8 +214,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
 
         /**
          * {@inheritDoc}
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public Iterator<Bucket<V>> iterator() {
             return buckets.iterator();
@@ -259,8 +254,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
      * collator provided to the AlphabeticIndex remains unchanged after creation of the index.
      * 
      * @param collator The collator to use to order the contents of this index.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public AlphabeticIndex(RuleBasedCollator collator) {
         this(null, collator);
@@ -615,8 +609,7 @@ public final class AlphabeticIndex<V> implements Iterable<Bucket<V>> {
      * Builds an immutable, thread-safe version of this instance, without data records.
      *
      * @return an immutable index instance
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public ImmutableIndex<V> buildImmutableIndex() {
         // The current AlphabeticIndex Java code never modifies the bucket list once built.
index 72f24e8c0b1446e8c7d2c95ae365e05a21b8fe5a..9b52715771c9cb16afbf1169e959b2a84b445263 100644 (file)
@@ -1431,6 +1431,7 @@ public final class RuleBasedCollator extends Collator {
 
     /**
      * {@inheritDoc}
+     * @stable ICU 2.8
      */
     @Override
     public boolean equals(Object obj) {
@@ -1868,6 +1869,8 @@ public final class RuleBasedCollator extends Collator {
 
     /**
      * {@inheritDoc}
+     * @draft ICU 53 (retain)
+     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public ULocale getLocale(ULocale.Type type) {
index c106297364e6bda33e4048b2133c31390ae2e008..302cfdf33791d7d404a1a6e86f251d33e9a3bfe8 100644 (file)
@@ -118,22 +118,12 @@ import com.ibm.icu.util.ULocale;
  * @see SearchIterator
  * @see RuleBasedCollator
  * @author Laura Werner, synwee
- * @since ICU 2.0
+ * @stable ICU 2.0
  */
 // internal notes: all methods do not guarantee the correct status of the 
 // characteriterator. the caller has to maintain the original index position
 // if necessary. methods could change the index position as it deems fit
 public final class StringSearch extends SearchIterator {
-    
-    /**
-     * DONE is returned by {@link #previous()} and {@link #next()} after all valid matches have 
-     * been returned, and by {@link SearchIterator#first() first()} and
-     * {@link SearchIterator#last() last()} if there are no matches at all.
-     * @see #previous
-     * @see #next
-     * @stable ICU 2.0
-     */
-    public static final int DONE = -1;
 
     private Pattern pattern_;
     private RuleBasedCollator collator_;
index 8e5b1cb1d2e219c5abb0b2702f27998a6499dcba..198e93de741ce90c3d0d45d94bdaf7d795900200 100644 (file)
@@ -1360,44 +1360,37 @@ public final class UScript {
      * See UAX #31 Unicode Identifier and Pattern Syntax.
      * http://www.unicode.org/reports/tr31/#Table_Candidate_Characters_for_Exclusion_from_Identifiers
      *
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public enum ScriptUsage {
         /**
          * Not encoded in Unicode.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         NOT_ENCODED,
         /**
          * Unknown script usage.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         UNKNOWN,
         /**
          * Candidate for Exclusion from Identifiers.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         EXCLUDED,
         /**
          * Limited Use script.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         LIMITED_USE,
         /**
          * Aspirational Use script.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ASPIRATIONAL,
         /**
          * Recommended script.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         RECOMMENDED
     }
@@ -1410,8 +1403,7 @@ public final class UScript {
      *
      * @param script script code
      * @return the sample character string
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final String getSampleString(int script) {
         int sampleChar = ScriptMetadata.getScriptProps(script) & 0x1fffff;
@@ -1428,8 +1420,7 @@ public final class UScript {
      * @param script script code
      * @return script usage
      * @see ScriptUsage
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final ScriptUsage getUsage(int script) {
         return usageValues[(ScriptMetadata.getScriptProps(script) >> 21) & 7];
@@ -1441,8 +1432,7 @@ public final class UScript {
      *
      * @param script script code
      * @return true if the script is right-to-left
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final boolean isRightToLeft(int script) {
         return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.RTL) != 0;
@@ -1455,8 +1445,7 @@ public final class UScript {
      *
      * @param script script code
      * @return true if the script allows line breaks between letters
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final boolean breaksBetweenLetters(int script) {
         return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.LB_LETTERS) != 0;
@@ -1468,8 +1457,7 @@ public final class UScript {
      *
      * @param script script code
      * @return true if the script is cased
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final boolean isCased(int script) {
         return (ScriptMetadata.getScriptProps(script) & ScriptMetadata.CASED) != 0;
index ab9b770851d965479047829e1dfa13df65df5410..2fd8804d828dbc1f171ee282372f02c2de8535c1 100644 (file)
@@ -66,20 +66,17 @@ public class CompactDecimalFormat extends DecimalFormat {
 
     /**
      * Style parameter for CompactDecimalFormat.
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public enum CompactStyle {
         /**
          * Short version, like "1.2T"
-         * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 50
          */
         SHORT,
         /**
          * Longer version, like "1.2 trillion", if available. May return same result as SHORT if not.
-         * @draft ICU 50
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 50
          */
         LONG
     }
index 7ce3daec8437dd28e100070c34f5fccb0bb23424..fcf1b641da8796b77373b70d3a0b93fea9975250 100644 (file)
@@ -45,8 +45,7 @@ class CurrencyFormat extends MeasureFormat {
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * {@inheritDoc}
      */
     @Override
     public Object clone() {
@@ -82,8 +81,7 @@ class CurrencyFormat extends MeasureFormat {
     // MeasureFormat
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * {@inheritDoc}
      */
     @Override
     public StringBuilder formatMeasures(
@@ -92,8 +90,7 @@ class CurrencyFormat extends MeasureFormat {
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * {@inheritDoc}
      */
     @Override
     public MeasureFormat.FormatWidth getWidth() {
@@ -101,8 +98,7 @@ class CurrencyFormat extends MeasureFormat {
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * {@inheritDoc}
      */
     @Override
     public NumberFormat getNumberFormat() {
index 12d80785ff203ae2925221c141cef97c08faca51..efe8a040216b3b32819289a3e232f3ad44e21e91 100644 (file)
@@ -190,8 +190,7 @@ public class CurrencyMetaInfo {
         /**
          * Returns a filter that accepts all currencies in use on the given date.
          * @param date the date as milliseconds after Jan 1, 1970
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public static CurrencyFilter onDate(long date) {
             return ALL.withDate(date);
@@ -205,8 +204,7 @@ public class CurrencyMetaInfo {
          *   Measured in milliseconds since Jan 1, 1970 GMT.
          * @param to The date on or before which a currency must have been in use.
          *   Measured in milliseconds since Jan 1, 1970 GMT.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public static CurrencyFilter onDateRange(long from, long to) {
             return ALL.withDateRange(from, to);
@@ -215,8 +213,7 @@ public class CurrencyMetaInfo {
         /**
          * Returns a CurrencyFilter for finding currencies that were either once used,
          * are used, or will be used as tender.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public static CurrencyFilter onTender() {
             return ALL.withTender();
@@ -275,8 +272,7 @@ public class CurrencyMetaInfo {
          * Returns a copy of this filter that accepts all currencies in use on
          * the given date.
          * @param date the date as milliseconds after Jan 1, 1970
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public CurrencyFilter withDate(long date) {
             return new CurrencyFilter(this.region, this.currency, date, date, this.tenderOnly);
@@ -290,8 +286,7 @@ public class CurrencyMetaInfo {
          *   Measured in milliseconds since Jan 1, 1970 GMT.
          * @param to The date on or before which a currency must have been in use.
          *   Measured in milliseconds since Jan 1, 1970 GMT.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public CurrencyFilter withDateRange(long from, long to) {
             return new CurrencyFilter(this.region, this.currency, from, to, this.tenderOnly);
@@ -300,8 +295,7 @@ public class CurrencyMetaInfo {
         /**
          * Returns a copy of this filter that filters for currencies that were
          * either once used, are used, or will be used as tender.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public CurrencyFilter withTender() {
             return new CurrencyFilter(this.region, this.currency, this.from, this.to, true);
@@ -491,8 +485,7 @@ public class CurrencyMetaInfo {
         /**
          * Determine whether or not this currency was once used, is used,
          * or will be used as tender in this region.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         public boolean isTender() {
             return tender;
index fe00e31de7803e0043ff79e05123a268de0b8c23..f3e9dd5b0fc6345571babf90f10fde2e4bb7b330 100644 (file)
@@ -414,8 +414,7 @@ public abstract class DateFormat extends UFormat {
      * corresponding to the {@link Calendar#ZONE_OFFSET} and
      * {@link Calendar#DST_OFFSET} fields.  This displays the
      * localized GMT format.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public final static int TIMEZONE_LOCALIZED_GMT_OFFSET_FIELD = 31;
 
@@ -424,8 +423,7 @@ public abstract class DateFormat extends UFormat {
      * corresponding to the {@link Calendar#ZONE_OFFSET} and
      * {@link Calendar#DST_OFFSET} fields.  This displays the
      * ISO 8601 local time offset format or UTC indicator ("Z").
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public final static int TIMEZONE_ISO_FIELD = 32;
 
@@ -434,8 +432,7 @@ public abstract class DateFormat extends UFormat {
      * corresponding to the {@link Calendar#ZONE_OFFSET} and
      * {@link Calendar#DST_OFFSET} fields.  This displays the
      * ISO 8601 local time offset format.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public final static int TIMEZONE_ISO_LOCAL_FIELD = 33;
 
@@ -452,28 +449,33 @@ public abstract class DateFormat extends UFormat {
      * boolean attributes
      * 
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public enum BooleanAttribute { 
         /** 
          * indicates whitespace tolerance. Also included is trailing dot tolerance. 
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         PARSE_ALLOW_WHITESPACE,
         /** 
          * indicates tolerance of numeric data when String data may be assumed. 
          * e.g. YEAR_NAME_FIELD 
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         PARSE_ALLOW_NUMERIC, 
         /** 
          * indicates tolerance of pattern mismatch between input data and specified format pattern.
          * e.g. accepting "September" for a month pattern of MMM ("Sep")  
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         PARSE_MULTIPLE_PATTERNS_FOR_MATCH, 
         /**
          * indicates tolerance of a partial literal match
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         PARSE_PARTIAL_MATCH
     };
@@ -1535,7 +1537,8 @@ public abstract class DateFormat extends UFormat {
      * inputs must match this object's format more closely.
      * @param lenient when true, Calendar parsing is lenient 
      * @see com.ibm.icu.util.Calendar#setLenient 
-     * @draft ICU 53 
+     * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */ 
     public void setCalendarLenient(boolean lenient)
     {
@@ -1545,7 +1548,8 @@ public abstract class DateFormat extends UFormat {
     
     /** 
      * Returns whether date/time parsing in the encapsulated Calendar object is lenient. 
-     * @draft ICU 53 
+     * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */ 
     public boolean isCalendarLenient()
     {
@@ -1558,6 +1562,7 @@ public abstract class DateFormat extends UFormat {
      * 
      * @see BooleanAttribute
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public DateFormat setBooleanAttribute(BooleanAttribute key, boolean value) 
     {
@@ -1580,6 +1585,7 @@ public abstract class DateFormat extends UFormat {
      * 
      * @see BooleanAttribute
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public boolean getBooleanAttribute(BooleanAttribute key) 
     {
index b2b8e1176e0e2369b208aaa63344652b70963e30..5bef2981970cded3575a9a07cfd4fc63970f0feb 100644 (file)
@@ -125,8 +125,7 @@ public class DateFormatSymbols implements Serializable, Cloneable {
 
     /**
      * {@icu} Constant for width; only supported for weekdays.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static final int SHORT = 3;
 
index c5612f2266dee3651d64c70ec6558c3557989da1..063f14c7e12c3efedc11f2b1c7469092ab39585f 100644 (file)
@@ -876,6 +876,7 @@ public class DateIntervalFormat extends UFormat {
      * Get the TimeZone
      * @return A copy of the TimeZone associated with this date interval formatter.
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public TimeZone getTimeZone()
     {
@@ -894,6 +895,7 @@ public class DateIntervalFormat extends UFormat {
      * Set the TimeZone for the calendar used by this DateIntervalFormat object.
      * @param zone The new TimeZone, will be cloned for use by this DateIntervalFormat.
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public void setTimeZone(TimeZone zone)
     {
index 799ecf5cb60241a099e6c2b7c2f60fd4fc78dc04..fd9dba8172197991840aa0980d94dc18e6ca6a22 100644 (file)
@@ -5284,8 +5284,7 @@ public class DecimalFormat extends NumberFormat {
     * If the limit is set too high, an OutOfMemoryException may be triggered.
     * The default value is 1000.
     * @param newValue the new limit
-    * @draft ICU 51
-    * @provisional This API might change or be removed in a future release.
+    * @stable ICU 51
     */
     public void setParseMaxDigits(int newValue) {
         if (newValue > 0) {
@@ -5296,9 +5295,8 @@ public class DecimalFormat extends NumberFormat {
     /**
     * Get the current maximum number of exponent digits when parsing a
     * number.
-    *
-    * @draft ICU 51
-    * @provisional This API might change or be removed in a future release.
+    * @return the maximum number of exponent digits for parsing
+    * @stable ICU 51
     */
     public int getParseMaxDigits() {
         return PARSE_MAX_EXPONENT;
index ca2463a17e272851d343a59e2afadeb008238b97..9ac06c37276dbf68f281a3ae94e25e07e9b58e1c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 2012, International Business Machines Corporation and         *
+ * Copyright (C) 2012-2014, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -9,8 +9,7 @@ package com.ibm.icu.text;
 /**
  * Display context settings.
  * Note, the specific numeric values are internal and may change.
- * @draft ICU 51
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 51
  */
 public enum DisplayContext {
     /**
@@ -21,16 +20,14 @@ public enum DisplayContext {
      * A possible setting for DIALECT_HANDLING:
      * use standard names when generating a locale name,
      * e.g. en_GB displays as 'English (United Kingdom)'.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     STANDARD_NAMES(Type.DIALECT_HANDLING, 0),
     /**
      * A possible setting for DIALECT_HANDLING:
      * use dialect names, when generating a locale name,
      * e.g. en_GB displays as 'British English'.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     DIALECT_NAMES(Type.DIALECT_HANDLING, 1),
     /**
@@ -40,32 +37,28 @@ public enum DisplayContext {
     /**
      * A possible setting for CAPITALIZATION:
      * The capitalization context to be used is unknown (this is the default value).
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     CAPITALIZATION_NONE(Type.CAPITALIZATION, 0),
     /**
      * A possible setting for CAPITALIZATION:
      * The capitalization context if a date, date symbol or display name is to be
      * formatted with capitalization appropriate for the middle of a sentence.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE(Type.CAPITALIZATION, 1),
     /**
      * A possible setting for CAPITALIZATION:
      * The capitalization context if a date, date symbol or display name is to be
      * formatted with capitalization appropriate for the beginning of a sentence.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE(Type.CAPITALIZATION, 2),
     /**
      * A possible setting for CAPITALIZATION:
      * The capitalization context if a date, date symbol or display name is to be
      * formatted with capitalization appropriate for a user-interface list or menu item.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     CAPITALIZATION_FOR_UI_LIST_OR_MENU(Type.CAPITALIZATION, 3),
     /**
@@ -73,28 +66,24 @@ public enum DisplayContext {
      * The capitalization context if a date, date symbol or display name is to be
      * formatted with capitalization appropriate for stand-alone usage such as an
      * isolated name on a calendar page.
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     CAPITALIZATION_FOR_STANDALONE(Type.CAPITALIZATION, 4);
 
     /**
      * Type values for DisplayContext
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public enum Type {
         /**
          * DIALECT_HANDLING can be set to STANDARD_NAMES or DIALECT_NAMES.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         DIALECT_HANDLING,
         /**
          * CAPITALIZATION can be set to one of CAPITALIZATION_NONE through
          * CAPITALIZATION_FOR_STANDALONE.
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         CAPITALIZATION
     }
@@ -108,8 +97,7 @@ public enum DisplayContext {
     /**
      * Get the Type part of the enum item
      * (e.g. CAPITALIZATION)
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public Type type() {
         return type;
@@ -117,8 +105,7 @@ public enum DisplayContext {
     /**
      * Get the value part of the enum item
      * (e.g. CAPITALIZATION_FOR_STANDALONE)
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public int value() {
         return value;
index 9004aef1c6a8874287cee21e9f45c9fa049ab648..c570752c3e4627fb276a0b0661174a6428017667 100644 (file)
@@ -27,8 +27,7 @@ import com.ibm.icu.util.UResourceBundle;
  * separately). The class is not subclassable.
  *
  * @author Mark Davis
- * @draft ICU 50
- * @provisional This API might change or be removed in a future release.
+ * @stable ICU 50
  */
 final public class ListFormatter {
     private final SimplePatternFormatter two;
@@ -133,8 +132,7 @@ final public class ListFormatter {
      * @param locale
      *            the locale in question.
      * @return ListFormatter
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public static ListFormatter getInstance(ULocale locale) {
       return getInstance(locale, Style.STANDARD);
@@ -146,8 +144,7 @@ final public class ListFormatter {
      * @param locale
      *            the locale in question.
      * @return ListFormatter
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public static ListFormatter getInstance(Locale locale) {
         return getInstance(ULocale.forLocale(locale), Style.STANDARD);
@@ -171,8 +168,7 @@ final public class ListFormatter {
      * Create a list formatter that is appropriate for the default FORMAT locale.
      *
      * @return ListFormatter
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public static ListFormatter getInstance() {
         return getInstance(ULocale.getDefault(ULocale.Category.FORMAT));
@@ -184,8 +180,7 @@ final public class ListFormatter {
      * @param items
      *            items to format. The toString() method is called on each.
      * @return items formatted into a string
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public String format(Object... items) {
         return format(Arrays.asList(items));
@@ -197,8 +192,7 @@ final public class ListFormatter {
      * @param items
      *            items to format. The toString() method is called on each.
      * @return items formatted into a string
-     * @draft ICU 50
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 50
      */
     public String format(Collection<?> items) {
         // TODO optimize this for the common case that the patterns are all of the
index 9e12fb4a006d50034c9be2db99f283581e1ebe0a..7c53b2a68efa39fd84470df7a70b706c8b0c1c84 100644 (file)
@@ -68,8 +68,7 @@ public abstract class LocaleDisplayNames {
      * @param contexts one or more context settings (e.g. for dialect
      *              handling, capitalization, etc.
      * @return a LocaleDisplayNames instance
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public static LocaleDisplayNames getInstance(ULocale locale, DisplayContext... contexts) {
         return LocaleDisplayNamesImpl.getInstance(locale, contexts);
@@ -95,8 +94,7 @@ public abstract class LocaleDisplayNames {
      * Returns the current value for a specified DisplayContext.Type.
      * @param type the DisplayContext.Type whose value to return
      * @return the current DisplayContext setting for the specified type
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public abstract DisplayContext getContext(DisplayContext.Type type);
 
index 17e587fbe2db480c7253954698ce4d15b0e923d9..c399a6e086088cb95fc110db5a3c746b061501b3 100644 (file)
@@ -148,7 +148,7 @@ public class MeasureFormat extends UFormat {
      * Formatting width enum.
      * 
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     // Be sure to update MeasureUnitTest.TestSerialFormatWidthEnum
     // when adding an enum value.
@@ -158,7 +158,7 @@ public class MeasureFormat extends UFormat {
          * Spell out everything.
          * 
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         WIDE("units", ListFormatter.Style.DURATION, NumberFormat.PLURALCURRENCYSTYLE), 
         
@@ -166,7 +166,7 @@ public class MeasureFormat extends UFormat {
          * Abbreviate when possible.
          * 
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         SHORT("unitsShort", ListFormatter.Style.DURATION_SHORT, NumberFormat.ISOCURRENCYSTYLE), 
         
@@ -174,7 +174,7 @@ public class MeasureFormat extends UFormat {
          * Brief. Use only a symbol for the unit when possible.
          * 
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         NARROW("unitsNarrow", ListFormatter.Style.DURATION_NARROW, NumberFormat.CURRENCYSTYLE),
         
@@ -184,7 +184,7 @@ public class MeasureFormat extends UFormat {
          * In these cases formatMeasures formats as 5:37:23 instead of 5h, 37m, 23s.
          * 
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         NUMERIC("unitsNarrow", ListFormatter.Style.DURATION_NARROW, NumberFormat.CURRENCYSTYLE);
         
@@ -217,7 +217,7 @@ public class MeasureFormat extends UFormat {
      * @param formatWidth hints how long formatted strings should be.
      * @return The new MeasureFormat object.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static MeasureFormat getInstance(ULocale locale, FormatWidth formatWidth) {
         return getInstance(locale, formatWidth, NumberFormat.getInstance(locale));
@@ -231,7 +231,7 @@ public class MeasureFormat extends UFormat {
      * @param format This is defensively copied.
      * @return The new MeasureFormat object.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static MeasureFormat getInstance(ULocale locale, FormatWidth formatWidth, NumberFormat format) {
         PluralRules rules = PluralRules.forLocale(locale);
@@ -282,7 +282,7 @@ public class MeasureFormat extends UFormat {
      * @see java.text.Format#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
      * 
      * @draft ICU53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos) {
@@ -315,10 +315,11 @@ public class MeasureFormat extends UFormat {
     }
     
     /**
+     * Parses text from a string to produce a <code>Measure</code>.
      * @see java.text.Format#parseObject(java.lang.String, java.text.ParsePosition)
      * @throws UnsupportedOperationException Not supported.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public Measure parseObject(String source, ParsePosition pos) {
@@ -337,7 +338,7 @@ public class MeasureFormat extends UFormat {
      * @param measures a sequence of one or more measures.
      * @return the formatted string.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public final String formatMeasures(Measure... measures) {
         return formatMeasures(
@@ -359,7 +360,7 @@ public class MeasureFormat extends UFormat {
      * @return appendTo.
      * @see MeasureFormat#formatMeasures(Measure...)
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public StringBuilder formatMeasures(
             StringBuilder appendTo, FieldPosition fieldPosition, Measure... measures) {
@@ -400,7 +401,7 @@ public class MeasureFormat extends UFormat {
      * Two MeasureFormats, a and b, are equal if and only if they have the same formatWidth,
      * locale, and equal number formats.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public final boolean equals(Object other) {
@@ -418,8 +419,9 @@ public class MeasureFormat extends UFormat {
     }
     
     /**
+     * {@inheritDoc}
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     @Override
     public final int hashCode() {
@@ -431,7 +433,7 @@ public class MeasureFormat extends UFormat {
     /**
      * Get the format width this instance is using.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public MeasureFormat.FormatWidth getWidth() {
         return formatWidth;
@@ -440,7 +442,7 @@ public class MeasureFormat extends UFormat {
     /**
      * Get the locale of this instance.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public final ULocale getLocale() {
         return getLocale(ULocale.VALID_LOCALE);
@@ -449,7 +451,7 @@ public class MeasureFormat extends UFormat {
     /**
      * Get a copy of the number format.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public NumberFormat getNumberFormat() {
         return numberFormat.get();
index c0e78f6f5a4be4ef4020992eabd6f751e2449aaa..f393b0e45812be64bbb848a515d05aff82fa1af2 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 2013, International Business Machines Corporation and         *
+ * Copyright (C) 2013-2014, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -60,7 +60,7 @@ import com.ibm.icu.util.UResourceBundle;
  * (3 secs ago), and relative day periods ("yesterday afternoon"), etc.
  * 
  * @draft ICU 53
- * @provisional
+ * @provisional This API might change or be removed in a future release.
  */
 public final class RelativeDateTimeFormatter {
     
@@ -68,56 +68,56 @@ public final class RelativeDateTimeFormatter {
      * Represents the unit for formatting a relative date. e.g "in 5 days"
      * or "in 3 months"
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static enum RelativeUnit {
         
         /**
          * Seconds
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         SECONDS,
         
         /**
          * Minutes
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         MINUTES,
         
        /**
         * Hours
         * @draft ICU 53
-        * @provisional
+        * @provisional This API might change or be removed in a future release.
         */
         HOURS,
         
         /**
          * Days
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         DAYS,
         
         /**
          * Weeks
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         WEEKS,
         
         /**
          * Months
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         MONTHS,
         
         /**
          * Years
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         YEARS,
     }
@@ -125,91 +125,91 @@ public final class RelativeDateTimeFormatter {
     /**
      * Represents an absolute unit.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static enum AbsoluteUnit {
         
        /**
         * Sunday
         * @draft ICU 53
-        * @provisional
+        * @provisional This API might change or be removed in a future release.
         */
         SUNDAY,
         
         /**
          * Monday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         MONDAY,
         
         /**
          * Tuesday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         TUESDAY,
         
         /**
          * Wednesday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         WEDNESDAY,
         
         /**
          * Thursday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         THURSDAY,
         
         /**
          * Friday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         FRIDAY,
         
         /**
          * Saturday
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         SATURDAY,
         
         /**
          * Day
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         DAY,
         
         /**
          * Week
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         WEEK,
         
         /**
          * Month
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         MONTH,
         
         /**
          * Year
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         YEAR,
         
         /**
          * Now
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         NOW,
       }
@@ -218,14 +218,14 @@ public final class RelativeDateTimeFormatter {
        * Represents a direction for an absolute unit e.g "Next Tuesday"
        * or "Last Tuesday"
        * @draft ICU 53
-       * @provisional
+       * @provisional This API might change or be removed in a future release.
        */
       public static enum Direction {
           
           /**
            * Two before. Not fully supported in every locale
            * @draft ICU 53
-           * @provisional
+           * @provisional This API might change or be removed in a future release.
            */
           LAST_2,
 
@@ -233,35 +233,35 @@ public final class RelativeDateTimeFormatter {
           /**
            * Last
            * @draft ICU 53
-           * @provisional
+           * @provisional This API might change or be removed in a future release.
            */  
         LAST,
         
         /**
          * This
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         THIS,
         
         /**
          * Next
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         NEXT,
         
         /**
          * Two after. Not fully supported in every locale
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         NEXT_2,
         
         /**
          * Plain, which means the absence of a qualifier
          * @draft ICU 53
-         * @provisional
+         * @provisional This API might change or be removed in a future release.
          */
         PLAIN;
       }
@@ -269,7 +269,7 @@ public final class RelativeDateTimeFormatter {
     /**
      * Returns a RelativeDateTimeFormatter for the default locale.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static RelativeDateTimeFormatter getInstance() {
         return getInstance(ULocale.getDefault());
@@ -280,7 +280,7 @@ public final class RelativeDateTimeFormatter {
      * 
      * @param locale the locale.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static RelativeDateTimeFormatter getInstance(ULocale locale) {
         RelativeDateTimeFormatterData data = cache.get(locale);
@@ -300,7 +300,7 @@ public final class RelativeDateTimeFormatter {
      * @param nf the number format object. It is defensively copied to ensure thread-safety
      * and immutability of this class. 
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public static RelativeDateTimeFormatter getInstance(ULocale locale, NumberFormat nf) {
         RelativeDateTimeFormatterData data = cache.get(locale);
@@ -324,7 +324,7 @@ public final class RelativeDateTimeFormatter {
      * @throws IllegalArgumentException if direction is something other than
      * NEXT or LAST.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public String format(double quantity, Direction direction, RelativeUnit unit) {
         if (direction != Direction.LAST && direction != Direction.NEXT) {
@@ -349,7 +349,7 @@ public final class RelativeDateTimeFormatter {
      * @throws IllegalArgumentException if the direction is incompatible with
      * unit this can occur with NOW which can only take PLAIN.
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public String format(Direction direction, AbsoluteUnit unit) {
         if (unit == AbsoluteUnit.NOW && direction != Direction.PLAIN) {
@@ -367,7 +367,7 @@ public final class RelativeDateTimeFormatter {
      * @return the date and time concatenated according to the default
      * calendar in this locale e.g 'yesterday, 3:45'
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public String combineDateAndTime(String relativeDateString, String timeString) {
         return this.combinedDateAndTime.format(
@@ -378,7 +378,7 @@ public final class RelativeDateTimeFormatter {
      * Returns a copy of the NumberFormat this object is using.
      * 
      * @draft ICU 53
-     * @provisional
+     * @provisional This API might change or be removed in a future release.
      */
     public NumberFormat getNumberFormat() {
         // This class is thread-safe, yet numberFormat is not. To ensure thread-safety of this
index b88e66f2c95798bae522b2e03aed0824e290d13b..2fe4361ec81ed70718a8f9dffebec481db0b9ed4 100644 (file)
@@ -147,32 +147,37 @@ public class SpoofChecker {
     /**
      * Constants from UAX 31 for use in setRestrictionLevel.
      * @draft ICU 53
+     * @provisional This API might change or be removed in a future release.
      */
     public enum RestrictionLevel {
         /**
          * Only ASCII characters: U+0000..U+007F
          *
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         ASCII,
         /**
          * All characters in each identifier must be from a single script.
          * 
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
-        SINGLE_SCRIPT_RESTRICTIVE,        
+        SINGLE_SCRIPT_RESTRICTIVE,
          /**
          * All characters in each identifier must be from a single script, or from the combinations: Latin + Han +
          * Hiragana + Katakana; Latin + Han + Bopomofo; or Latin + Han + Hangul. Note that this level will satisfy the
          * vast majority of Latin-script users; also that TR36 has ASCII instead of Latin.
          *
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
        HIGHLY_RESTRICTIVE,
         /**
          * Allow Latin with other scripts except Cyrillic, Greek, Cherokee Otherwise, the same as Highly Restrictive
          *
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         MODERATELY_RESTRICTIVE,
         /**
@@ -180,12 +185,14 @@ public class SpoofChecker {
          * Moderately Restrictive
          *
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         MINIMALLY_RESTRICTIVE,
         /**
          * Any valid identifiers, including characters outside of the Identifier Profile, such as I♥NY.org
          *
          * @draft ICU 53
+         * @provisional This API might change or be removed in a future release.
          */
         UNRESTRICTIVE
     }
index 5ebaaba590b6cccbb77e1594f416d4dbd10dc176..7b63d11857d940894cda2db8e338a4b42d2f2ce0 100644 (file)
@@ -65,14 +65,16 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Constant for full name style format. 
      * For example, the full name for "hour" in English is "hour" or "hours".
-     * @stable ICU 4.2
+     * @deprecated ICU 53 see {@link MeasureFormat.FormatWidth}
      */
+    @Deprecated
     public static final int FULL_NAME = 0;
     /**
      * Constant for abbreviated name style format. 
      * For example, the abbreviated name for "hour" in English is "hr" or "hrs".
-     * @stable ICU 4.2
+     * @deprecated ICU 53 see {@link MeasureFormat.FormatWidth}
      */
+    @Deprecated
     public static final int ABBREVIATED_NAME = 1;
     
     private static final int TOTAL_STYLES = 2;
@@ -107,8 +109,9 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Create empty format using full name style, for example, "hours". 
      * Use setLocale and/or setFormat to modify.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 use {@link MeasureFormat} instead.
      */
+    @Deprecated
     public TimeUnitFormat() {
         mf = MeasureFormat.getInstance(ULocale.getDefault(), FormatWidth.WIDE);
         isReady = false;
@@ -118,8 +121,9 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Create TimeUnitFormat given a ULocale, and using full name style.
      * @param locale   locale of this time unit formatter.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 use {@link MeasureFormat} instead.
      */
+    @Deprecated
     public TimeUnitFormat(ULocale locale) {
         this(locale, FULL_NAME);
     }
@@ -127,8 +131,9 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Create TimeUnitFormat given a Locale, and using full name style.
      * @param locale   locale of this time unit formatter.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 use {@link MeasureFormat} instead.
      */
+    @Deprecated
     public TimeUnitFormat(Locale locale) {
         this(locale, FULL_NAME);
     }
@@ -139,8 +144,9 @@ public class TimeUnitFormat extends MeasureFormat {
      * @param style    format style, either FULL_NAME or ABBREVIATED_NAME style.
      * @throws IllegalArgumentException if the style is not FULL_NAME or
      *                                  ABBREVIATED_NAME style.
-     * @stable ICU 4.2
+     * @deprecated ICU 53 use {@link MeasureFormat} instead.
      */
+    @Deprecated
     public TimeUnitFormat(ULocale locale, int style) {
         if (style < FULL_NAME || style >= TOTAL_STYLES) {
             throw new IllegalArgumentException("style should be either FULL_NAME or ABBREVIATED_NAME style");
@@ -164,8 +170,9 @@ public class TimeUnitFormat extends MeasureFormat {
 
     /**
      * Create TimeUnitFormat given a Locale and a formatting style.
-     * @stable ICU 4.2
+     * @deprecated ICU 53 use {@link MeasureFormat} instead.
      */
+    @Deprecated
     public TimeUnitFormat(Locale locale, int style) {
         this(ULocale.forLocale(locale),  style);
     }
@@ -174,8 +181,9 @@ public class TimeUnitFormat extends MeasureFormat {
      * Set the locale used for formatting or parsing.
      * @param locale   locale of this time unit formatter.
      * @return this, for chaining.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 see {@link MeasureFormat}.
      */
+    @Deprecated
     public TimeUnitFormat setLocale(ULocale locale) {
         if (locale != this.locale){
             mf = mf.withLocale(locale);
@@ -192,8 +200,9 @@ public class TimeUnitFormat extends MeasureFormat {
      * Set the locale used for formatting or parsing.
      * @param locale   locale of this time unit formatter.
      * @return this, for chaining.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 see {@link MeasureFormat}.
      */
+    @Deprecated
     public TimeUnitFormat setLocale(Locale locale) {
         return setLocale(ULocale.forLocale(locale));
     }
@@ -203,8 +212,9 @@ public class TimeUnitFormat extends MeasureFormat {
      * {@link NumberFormat#getNumberInstance(ULocale)}.
      * @param format   the number formatter.
      * @return this, for chaining.
-     * @stable ICU 4.0
+     * @deprecated ICU 53 see {@link MeasureFormat}.
      */
+    @Deprecated
     public TimeUnitFormat setNumberFormat(NumberFormat format) {
         if (format == this.format) {
             return this;
@@ -228,8 +238,9 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Format a TimeUnitAmount.
      * @see java.text.Format#format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
-     * @stable ICU 4.0
+     * @deprecated ICU 53 see {@link MeasureFormat}.
      */
+    @Deprecated
     public StringBuffer format(Object obj, StringBuffer toAppendTo,
             FieldPosition pos) {
         return mf.format(obj, toAppendTo, pos);
@@ -238,8 +249,9 @@ public class TimeUnitFormat extends MeasureFormat {
     /**
      * Parse a TimeUnitAmount.
      * @see java.text.Format#parseObject(java.lang.String, java.text.ParsePosition)
-     * @stable ICU 4.0
+     * @deprecated ICU 53 see {@link MeasureFormat}.
      */
+    @Deprecated
     @Override
     public TimeUnitAmount parseObject(String source, ParsePosition pos) {
         if (!isReady) {
@@ -257,58 +269,58 @@ public class TimeUnitFormat extends MeasureFormat {
         for (TimeUnit timeUnit : timeUnitToCountToPatterns.keySet()) {
             Map<String, Object[]> countToPattern = timeUnitToCountToPatterns.get(timeUnit);
             for (Entry<String, Object[]> patternEntry : countToPattern.entrySet()) {
-              String count = patternEntry.getKey();
-              for (int styl = FULL_NAME; styl < TOTAL_STYLES; ++styl) {
-                MessageFormat pattern = (MessageFormat)(patternEntry.getValue())[styl];
-                pos.setErrorIndex(-1);
-                pos.setIndex(oldPos);
-                // see if we can parse
-                Object parsed = pattern.parseObject(source, pos);
-                if ( pos.getErrorIndex() != -1 || pos.getIndex() == oldPos ) {
-                    // nothing parsed
-                    continue;
-                }
-                Number temp = null;
-                if ( ((Object[])parsed).length != 0 ) {
-                    // pattern with Number as beginning,
-                    // such as "{0} d".
-                    // check to make sure that the timeUnit is consistent
-                    Object tempObj = ((Object[])parsed)[0];
-                    if (tempObj instanceof Number) {
-                        temp = (Number) tempObj;
-                    } else {
-                     // Since we now format the number ourselves, parseObject will likely give us back a String for
-                     // the number. When this happens we must parse the formatted number ourselves.
-                        try {
-                            temp = format.parse(tempObj.toString());
-                        } catch (ParseException e) {
-                            continue;
+                String count = patternEntry.getKey();
+                for (int styl = FULL_NAME; styl < TOTAL_STYLES; ++styl) {
+                    MessageFormat pattern = (MessageFormat) (patternEntry.getValue())[styl];
+                    pos.setErrorIndex(-1);
+                    pos.setIndex(oldPos);
+                    // see if we can parse
+                    Object parsed = pattern.parseObject(source, pos);
+                    if (pos.getErrorIndex() != -1 || pos.getIndex() == oldPos) {
+                        // nothing parsed
+                        continue;
+                    }
+                    Number temp = null;
+                    if (((Object[]) parsed).length != 0) {
+                        // pattern with Number as beginning,
+                        // such as "{0} d".
+                        // check to make sure that the timeUnit is consistent
+                        Object tempObj = ((Object[]) parsed)[0];
+                        if (tempObj instanceof Number) {
+                            temp = (Number) tempObj;
+                        } else {
+                            // Since we now format the number ourselves, parseObject will likely give us back a String
+                            // for
+                            // the number. When this happens we must parse the formatted number ourselves.
+                            try {
+                                temp = format.parse(tempObj.toString());
+                            } catch (ParseException e) {
+                                continue;
+                            }
                         }
                     }
-                }
-                int parseDistance = pos.getIndex() - oldPos;
-                if ( parseDistance > longestParseDistance ) {
-                    resultNumber = temp;
-                    resultTimeUnit = timeUnit;
-                    newPos = pos.getIndex();
-                    longestParseDistance = parseDistance;
-                    countOfLongestMatch = count;
+                    int parseDistance = pos.getIndex() - oldPos;
+                    if (parseDistance > longestParseDistance) {
+                        resultNumber = temp;
+                        resultTimeUnit = timeUnit;
+                        newPos = pos.getIndex();
+                        longestParseDistance = parseDistance;
+                        countOfLongestMatch = count;
+                    }
                 }
             }
-          }
         }
-        /* After find the longest match, parse the number.
-         * Result number could be null for the pattern without number pattern.
-         * such as unit pattern in Arabic.
-         * When result number is null, use plural rule to set the number.
+        /*
+         * After find the longest match, parse the number. Result number could be null for the pattern without number
+         * pattern. such as unit pattern in Arabic. When result number is null, use plural rule to set the number.
          */
         if (resultNumber == null && longestParseDistance != 0) {
             // set the number using plurrual count
-            if ( countOfLongestMatch.equals("zero") ) {
+            if (countOfLongestMatch.equals("zero")) {
                 resultNumber = Integer.valueOf(0);
-            } else if ( countOfLongestMatch.equals("one") ) {
+            } else if (countOfLongestMatch.equals("one")) {
                 resultNumber = Integer.valueOf(1);
-            } else if ( countOfLongestMatch.equals("two") ) {
+            } else if (countOfLongestMatch.equals("two")) {
                 resultNumber = Integer.valueOf(2);
             } else {
                 // should not happen.
@@ -348,180 +360,181 @@ public class TimeUnitFormat extends MeasureFormat {
         isReady = true;
     }
     
-    private void setup(String resourceKey, Map<TimeUnit, Map<String, Object[]>> timeUnitToCountToPatterns,
-            int style, Set<String> pluralKeywords) {
-// fill timeUnitToCountToPatterns from resource file
-try {
- ICUResourceBundle resource = (ICUResourceBundle)UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, locale);
ICUResourceBundle unitsRes = resource.getWithFallback(resourceKey);
int size = unitsRes.getSize();
- for ( int index = 0; index < size; ++index) {
-     String timeUnitName = unitsRes.get(index).getKey();
-     TimeUnit timeUnit = null;
-     if ( timeUnitName.equals("year") ) {
-         timeUnit = TimeUnit.YEAR;
-     } else if ( timeUnitName.equals("month") ) {
-         timeUnit = TimeUnit.MONTH;
-     } else if ( timeUnitName.equals("day") ) {
-         timeUnit = TimeUnit.DAY;
-     } else if ( timeUnitName.equals("hour") ) {
-         timeUnit = TimeUnit.HOUR;
-     } else if ( timeUnitName.equals("minute") ) {
-         timeUnit = TimeUnit.MINUTE;
-     } else if ( timeUnitName.equals("second") ) {
-         timeUnit = TimeUnit.SECOND;
-     } else if ( timeUnitName.equals("week") ) {
-         timeUnit = TimeUnit.WEEK;
-     } else {
-         continue;
-     }
-     ICUResourceBundle oneUnitRes = unitsRes.getWithFallback(timeUnitName);
-     int count = oneUnitRes.getSize();
-     Map<String, Object[]> countToPatterns = timeUnitToCountToPatterns.get(timeUnit);
-     if (countToPatterns ==  null) {
-         countToPatterns = new TreeMap<String, Object[]>();
-         timeUnitToCountToPatterns.put(timeUnit, countToPatterns);
-     }
-     for ( int pluralIndex = 0; pluralIndex < count; ++pluralIndex) {
-         String pluralCount = oneUnitRes.get(pluralIndex).getKey();
-         if (!pluralKeywords.contains(pluralCount))
-             continue;
-         String pattern = oneUnitRes.get(pluralIndex).getString();
-         final MessageFormat messageFormat = new MessageFormat(pattern, locale);
-         // save both full name and abbreviated name in one table
-         // is good space-wise, but it degrades performance,
-         // since it needs to check whether the needed space
-         // is already allocated or not.
-         Object[] pair = countToPatterns.get(pluralCount);
-         if (pair == null) {
-             pair = new Object[2];
-             countToPatterns.put(pluralCount, pair);
-         }
-         pair[style] = messageFormat;
-     }
- }
-} catch ( MissingResourceException e ) {
-}
-// there should be patterns for each plural rule in each time unit.
-// For each time unit,
-//     for each plural rule, following is unit pattern fall-back rule:
-//         ( for example: "one" hour )
-//         look for its unit pattern in its locale tree.
-//         if pattern is not found in its own locale, such as de_DE,
-//         look for the pattern in its parent, such as de,
-//         keep looking till found or till root.
-//         if the pattern is not found in root either,
-//         fallback to plural count "other",
-//         look for the pattern of "other" in the locale tree:
-//         "de_DE" to "de" to "root".
-//         If not found, fall back to value of
-//         static variable DEFAULT_PATTERN_FOR_xxx, such as "{0} h".
-//
-// Following is consistency check to create pattern for each
-// plural rule in each time unit using above fall-back rule.
-//
-final TimeUnit[] timeUnits = TimeUnit.values();
-Set<String> keywords = pluralRules.getKeywords();
-for ( int i = 0; i < timeUnits.length; ++i ) {
- // for each time unit,
- // get all the patterns for each plural rule in this locale.
- final TimeUnit timeUnit = timeUnits[i];
Map<String, Object[]> countToPatterns = timeUnitToCountToPatterns.get(timeUnit);
- if (countToPatterns == null) {
-     countToPatterns = new TreeMap<String, Object[]>();
-     timeUnitToCountToPatterns.put(timeUnit, countToPatterns);
- }
- for (String pluralCount : keywords) {
-     if ( countToPatterns.get(pluralCount) == null ||
-          countToPatterns.get(pluralCount)[style] == null ) {
-         // look through parents
-         searchInTree(resourceKey, style, timeUnit, pluralCount, pluralCount, countToPatterns);
-     }
- }
-}
-}
-// srcPluralCount is the original plural count on which the pattern is
-// searched for.
-// searchPluralCount is the fallback plural count.
-// For example, to search for pattern for ""one" hour",
-// "one" is the srcPluralCount,
-// if the pattern is not found even in root, fallback to
-// using patterns of plural count "other",
-// then, "other" is the searchPluralCount.
-private void searchInTree(String resourceKey, int styl,
-                   TimeUnit timeUnit, String srcPluralCount,
-                   String searchPluralCount, Map<String, Object[]> countToPatterns) {
-ULocale parentLocale=locale;
-String srcTimeUnitName = timeUnit.toString();
-while ( parentLocale != null ) {
- try {
-     // look for pattern for srcPluralCount in locale tree
-     ICUResourceBundle unitsRes = (ICUResourceBundle) UResourceBundle.getBundleInstance(ICUResourceBundle.ICU_BASE_NAME, parentLocale);
-     unitsRes = unitsRes.getWithFallback(resourceKey);
-     ICUResourceBundle oneUnitRes = unitsRes.getWithFallback(srcTimeUnitName);
-     String pattern = oneUnitRes.getStringWithFallback(searchPluralCount);
-     final MessageFormat messageFormat = new MessageFormat(pattern, locale);
-     Object[] pair = countToPatterns.get(srcPluralCount);
-     if (pair == null) {
-         pair = new Object[2];
-         countToPatterns.put(srcPluralCount, pair);
-     }
-     pair[styl] = messageFormat;
-     return;
- } catch ( MissingResourceException e ) {
- }
- parentLocale=parentLocale.getFallback();
-}
-// if no unitsShort resource was found even after fallback to root locale
-// then search the units resource fallback from the current level to root
-if ( parentLocale == null && resourceKey.equals("unitsShort") ) {
- searchInTree("units", styl, timeUnit, srcPluralCount, searchPluralCount, countToPatterns);
- if ( countToPatterns != null &&
-         countToPatterns.get(srcPluralCount) != null &&
-         countToPatterns.get(srcPluralCount)[styl] != null ) {
-     return;
- }
-}
-// if not found the pattern for this plural count at all,
-// fall-back to plural count "other"
-if ( searchPluralCount.equals("other") ) {
- // set default fall back the same as the resource in root
- MessageFormat messageFormat = null;
if ( timeUnit == TimeUnit.SECOND ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_SECOND, locale);
} else if ( timeUnit == TimeUnit.MINUTE ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_MINUTE, locale);
} else if ( timeUnit == TimeUnit.HOUR ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_HOUR, locale);
} else if ( timeUnit == TimeUnit.WEEK ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_WEEK, locale);
} else if ( timeUnit == TimeUnit.DAY ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_DAY, locale);
} else if ( timeUnit == TimeUnit.MONTH ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_MONTH, locale);
} else if ( timeUnit == TimeUnit.YEAR ) {
-     messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_YEAR, locale);
- }
- Object[] pair = countToPatterns.get(srcPluralCount);
- if (pair == null) {
-     pair = new Object[2];
-     countToPatterns.put(srcPluralCount, pair);
- }
- pair[styl] = messageFormat;
-} else {
- // fall back to rule "other", and search in parents
- searchInTree(resourceKey, styl, timeUnit, srcPluralCount, "other", countToPatterns);
-}
-}
+    private void setup(String resourceKey, Map<TimeUnit, Map<String, Object[]>> timeUnitToCountToPatterns, int style,
+            Set<String> pluralKeywords) {
+        // fill timeUnitToCountToPatterns from resource file
+        try {
+            ICUResourceBundle resource = (ICUResourceBundle) UResourceBundle.getBundleInstance(
                   ICUResourceBundle.ICU_BASE_NAME, locale);
           ICUResourceBundle unitsRes = resource.getWithFallback(resourceKey);
+            int size = unitsRes.getSize();
+            for (int index = 0; index < size; ++index) {
+                String timeUnitName = unitsRes.get(index).getKey();
+                TimeUnit timeUnit = null;
+                if (timeUnitName.equals("year")) {
+                    timeUnit = TimeUnit.YEAR;
+                } else if (timeUnitName.equals("month")) {
+                    timeUnit = TimeUnit.MONTH;
+                } else if (timeUnitName.equals("day")) {
+                    timeUnit = TimeUnit.DAY;
+                } else if (timeUnitName.equals("hour")) {
+                    timeUnit = TimeUnit.HOUR;
+                } else if (timeUnitName.equals("minute")) {
+                    timeUnit = TimeUnit.MINUTE;
+                } else if (timeUnitName.equals("second")) {
+                    timeUnit = TimeUnit.SECOND;
+                } else if (timeUnitName.equals("week")) {
+                    timeUnit = TimeUnit.WEEK;
+                } else {
+                    continue;
+                }
+                ICUResourceBundle oneUnitRes = unitsRes.getWithFallback(timeUnitName);
+                int count = oneUnitRes.getSize();
+                Map<String, Object[]> countToPatterns = timeUnitToCountToPatterns.get(timeUnit);
+                if (countToPatterns == null) {
+                    countToPatterns = new TreeMap<String, Object[]>();
+                    timeUnitToCountToPatterns.put(timeUnit, countToPatterns);
+                }
+                for (int pluralIndex = 0; pluralIndex < count; ++pluralIndex) {
+                    String pluralCount = oneUnitRes.get(pluralIndex).getKey();
+                    if (!pluralKeywords.contains(pluralCount))
+                        continue;
+                    String pattern = oneUnitRes.get(pluralIndex).getString();
+                    final MessageFormat messageFormat = new MessageFormat(pattern, locale);
+                    // save both full name and abbreviated name in one table
+                    // is good space-wise, but it degrades performance,
+                    // since it needs to check whether the needed space
+                    // is already allocated or not.
+                    Object[] pair = countToPatterns.get(pluralCount);
+                    if (pair == null) {
+                        pair = new Object[2];
+                        countToPatterns.put(pluralCount, pair);
+                    }
+                    pair[style] = messageFormat;
               }
+            }
+        } catch (MissingResourceException e) {
+        }
+        // there should be patterns for each plural rule in each time unit.
+        // For each time unit,
+        // for each plural rule, following is unit pattern fall-back rule:
+        // ( for example: "one" hour )
+        // look for its unit pattern in its locale tree.
+        // if pattern is not found in its own locale, such as de_DE,
+        // look for the pattern in its parent, such as de,
+        // keep looking till found or till root.
+        // if the pattern is not found in root either,
+        // fallback to plural count "other",
+        // look for the pattern of "other" in the locale tree:
+        // "de_DE" to "de" to "root".
+        // If not found, fall back to value of
+        // static variable DEFAULT_PATTERN_FOR_xxx, such as "{0} h".
+        //
+        // Following is consistency check to create pattern for each
+        // plural rule in each time unit using above fall-back rule.
+        //
+        final TimeUnit[] timeUnits = TimeUnit.values();
+        Set<String> keywords = pluralRules.getKeywords();
+        for (int i = 0; i < timeUnits.length; ++i) {
+            // for each time unit,
+            // get all the patterns for each plural rule in this locale.
           final TimeUnit timeUnit = timeUnits[i];
+            Map<String, Object[]> countToPatterns = timeUnitToCountToPatterns.get(timeUnit);
+            if (countToPatterns == null) {
+                countToPatterns = new TreeMap<String, Object[]>();
+                timeUnitToCountToPatterns.put(timeUnit, countToPatterns);
+            }
+            for (String pluralCount : keywords) {
+                if (countToPatterns.get(pluralCount) == null || countToPatterns.get(pluralCount)[style] == null) {
+                    // look through parents
+                    searchInTree(resourceKey, style, timeUnit, pluralCount, pluralCount, countToPatterns);
+                }
           }
+        }
+    }
+
+    // srcPluralCount is the original plural count on which the pattern is
+    // searched for.
+    // searchPluralCount is the fallback plural count.
+    // For example, to search for pattern for ""one" hour",
+    // "one" is the srcPluralCount,
+    // if the pattern is not found even in root, fallback to
+    // using patterns of plural count "other",
+    // then, "other" is the searchPluralCount.
+    private void searchInTree(String resourceKey, int styl, TimeUnit timeUnit, String srcPluralCount,
+            String searchPluralCount, Map<String, Object[]> countToPatterns) {
+        ULocale parentLocale = locale;
+        String srcTimeUnitName = timeUnit.toString();
+        while (parentLocale != null) {
           try {
+                // look for pattern for srcPluralCount in locale tree
+                ICUResourceBundle unitsRes = (ICUResourceBundle) UResourceBundle.getBundleInstance(
+                        ICUResourceBundle.ICU_BASE_NAME, parentLocale);
+                unitsRes = unitsRes.getWithFallback(resourceKey);
+                ICUResourceBundle oneUnitRes = unitsRes.getWithFallback(srcTimeUnitName);
+                String pattern = oneUnitRes.getStringWithFallback(searchPluralCount);
+                final MessageFormat messageFormat = new MessageFormat(pattern, locale);
+                Object[] pair = countToPatterns.get(srcPluralCount);
+                if (pair == null) {
+                    pair = new Object[2];
+                    countToPatterns.put(srcPluralCount, pair);
+                }
+                pair[styl] = messageFormat;
+                return;
+            } catch (MissingResourceException e) {
+            }
+            parentLocale = parentLocale.getFallback();
+        }
+        // if no unitsShort resource was found even after fallback to root locale
+        // then search the units resource fallback from the current level to root
+        if (parentLocale == null && resourceKey.equals("unitsShort")) {
+            searchInTree("units", styl, timeUnit, srcPluralCount, searchPluralCount, countToPatterns);
+            if (countToPatterns != null && countToPatterns.get(srcPluralCount) != null
+                    && countToPatterns.get(srcPluralCount)[styl] != null) {
+                return;
           }
+        }
+        // if not found the pattern for this plural count at all,
+        // fall-back to plural count "other"
+        if (searchPluralCount.equals("other")) {
           // set default fall back the same as the resource in root
           MessageFormat messageFormat = null;
           if (timeUnit == TimeUnit.SECOND) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_SECOND, locale);
           } else if (timeUnit == TimeUnit.MINUTE) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_MINUTE, locale);
           } else if (timeUnit == TimeUnit.HOUR) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_HOUR, locale);
           } else if (timeUnit == TimeUnit.WEEK) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_WEEK, locale);
           } else if (timeUnit == TimeUnit.DAY) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_DAY, locale);
           } else if (timeUnit == TimeUnit.MONTH) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_MONTH, locale);
           } else if (timeUnit == TimeUnit.YEAR) {
+                messageFormat = new MessageFormat(DEFAULT_PATTERN_FOR_YEAR, locale);
           }
           Object[] pair = countToPatterns.get(srcPluralCount);
           if (pair == null) {
+                pair = new Object[2];
+                countToPatterns.put(srcPluralCount, pair);
           }
           pair[styl] = messageFormat;
+        } else {
           // fall back to rule "other", and search in parents
           searchInTree(resourceKey, styl, timeUnit, srcPluralCount, "other", countToPatterns);
+        }
+    }
     
     // boilerplate code to make TimeUnitFormat otherwise follow the contract of
     // MeasureFormat
 
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * @internal
+     * @deprecated This API is ICU internal only.
      */
+    @Deprecated
     @Override
     public StringBuilder formatMeasures(
             StringBuilder appendTo, FieldPosition fieldPosition, Measure... measures) {
@@ -529,27 +542,30 @@ if ( searchPluralCount.equals("other") ) {
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * @internal
+     * @deprecated This API is ICU internal only.
      */
+    @Deprecated
     @Override
     public MeasureFormat.FormatWidth getWidth() {
         return mf.getWidth();
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * @internal
+     * @deprecated This API is ICU internal only.
      */
+    @Deprecated
     @Override
     public NumberFormat getNumberFormat() {
         return mf.getNumberFormat();
     }
     
     /**
-     * @draft ICU 53
-     * @provisional
+     * @internal
+     * @deprecated This API is ICU internal only.
      */
+    @Deprecated
     @Override
     public Object clone() {
         TimeUnitFormat result = (TimeUnitFormat) super.clone();
index 7d488db29fee7dd1ae5042a90abae13ad90c2e72..82c6e563a64ed7fc17d8c15b11e680d5949a610c 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 2011-2013, International Business Machines Corporation and    *
+ * Copyright (C) 2011-2014, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -115,106 +115,92 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
         /**
          * Short localized GMT offset format, such as "GMT-5", "UTC+1:30"
          * This style is equivalent to the LDML date format pattern "O".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         LOCALIZED_GMT_SHORT (0x0040),
         /**
          * Short ISO 8601 local time difference (basic format) or the UTC indicator.
          * For example, "-05", "+0530", and "Z"(UTC).
          * This style is equivalent to the LDML date format pattern "X".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_SHORT (ISO_Z_STYLE_FLAG),
         /**
          * Short ISO 8601 locale time difference (basic format).
          * For example, "-05" and "+0530".
          * This style is equivalent to the LDML date format pattern "x".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_LOCAL_SHORT (ISO_LOCAL_STYLE_FLAG),
         /**
          * Fixed width ISO 8601 local time difference (basic format) or the UTC indicator.
          * For example, "-0500", "+0530", and "Z"(UTC).
          * This style is equivalent to the LDML date format pattern "XX".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_FIXED (ISO_Z_STYLE_FLAG),
         /**
          * Fixed width ISO 8601 local time difference (basic format).
          * For example, "-0500" and "+0530".
          * This style is equivalent to the LDML date format pattern "xx".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_LOCAL_FIXED (ISO_LOCAL_STYLE_FLAG),
         /**
          * ISO 8601 local time difference (basic format) with optional seconds field, or the UTC indicator.
          * For example, "-0500", "+052538", and "Z"(UTC).
          * This style is equivalent to the LDML date format pattern "XXXX".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_FULL (ISO_Z_STYLE_FLAG),
         /**
          * ISO 8601 local time difference (basic format) with optional seconds field.
          * For example, "-0500" and "+052538".
          * This style is equivalent to the LDML date format pattern "xxxx".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_BASIC_LOCAL_FULL (ISO_LOCAL_STYLE_FLAG),
         /**
          * Fixed width ISO 8601 local time difference (extended format) or the UTC indicator.
          * For example, "-05:00", "+05:30", and "Z"(UTC).
          * This style is equivalent to the LDML date format pattern "XXX".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_EXTENDED_FIXED (ISO_Z_STYLE_FLAG),
         /**
          * Fixed width ISO 8601 local time difference (extended format).
          * For example, "-05:00" and "+05:30".
          * This style is equivalent to the LDML date format pattern "xxx" and "ZZZZZ".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_EXTENDED_LOCAL_FIXED (ISO_LOCAL_STYLE_FLAG),
         /**
          * ISO 8601 local time difference (extended format) with optional seconds field, or the UTC indicator.
          * For example, "-05:00", "+05:25:38", and "Z"(UTC).
          * This style is equivalent to the LDML date format pattern "XXXXX".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_EXTENDED_FULL (ISO_Z_STYLE_FLAG),
         /**
          * ISO 8601 local time difference (extended format) with optional seconds field.
          * For example, "-05:00" and "+05:25:38".
          * This style is equivalent to the LDML date format pattern "xxxxx".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ISO_EXTENDED_LOCAL_FULL (ISO_LOCAL_STYLE_FLAG),
         /**
          * Time Zone ID, such as "America/Los_Angeles".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ZONE_ID (0x0200),
         /**
          * Short Time Zone ID (BCP 47 Unicode location extension, time zone type value), such as "uslax".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         ZONE_ID_SHORT (0x0400),
         /**
          * Exemplar location, such as "Los Angeles" and "Paris".
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         EXEMPLAR_LOCATION (0x0800);
 
@@ -231,7 +217,6 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
      * @see TimeZoneFormat#getGMTOffsetPattern(GMTOffsetPatternType)
      * @see TimeZoneFormat#setGMTOffsetPattern(GMTOffsetPatternType, String)
      * @stable ICU 49
-     * @provisional This API might change or be removed in a future release.
      */
     public enum GMTOffsetPatternType {
         /**
@@ -256,14 +241,12 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
         NEGATIVE_HMS ("-H:mm:ss", "Hms", false),
         /**
          * Positive offset with hours field
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         POSITIVE_H ("+H", "H", true),
         /**
          * Negative offset with hours field
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         NEGATIVE_H ("-H", "H", false);
 
@@ -731,8 +714,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
      * (-24 hours &lt; offset &lt; +24 hours).
      * @see #formatOffsetISO8601Extended(int, boolean, boolean, boolean)
      * @see #parseOffsetISO8601(String, ParsePosition)
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public final String formatOffsetISO8601Basic(int offset, boolean useUtcIndicator, boolean isShort, boolean ignoreSeconds) {
         return formatOffsetISO8601(offset, true, useUtcIndicator, isShort, ignoreSeconds);
@@ -751,8 +733,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
      * (-24 hours &lt; offset &lt; +24 hours).
      * @see #formatOffsetISO8601Basic(int, boolean, boolean, boolean)
      * @see #parseOffsetISO8601(String, ParsePosition)
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public final String formatOffsetISO8601Extended(int offset, boolean useUtcIndicator, boolean isShort, boolean ignoreSeconds) {
         return formatOffsetISO8601(offset, false, useUtcIndicator, isShort, ignoreSeconds);
@@ -798,8 +779,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
      * @see #parseOffsetLocalizedGMT(String, ParsePosition)
      * @throws IllegalArgumentException if the specified offset is out of supported range
      * (-24 hours &lt; offset &lt; +24 hours).
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public String formatOffsetShortLocalizedGMT(int offset) {
         return formatOffsetLocalizedGMT(offset, true);
@@ -1016,8 +996,7 @@ public class TimeZoneFormat extends UFormat implements Freezable<TimeZoneFormat>
      * @return the offset from GMT(UTC) in milliseconds for the given short localized GMT
      * offset format string.
      * @see #formatOffsetShortLocalizedGMT(int)
-     * @draft ICU 51
-     * @provisional This API might change or be removed in a future release.
+     * @stable ICU 51
      */
     public int parseOffsetShortLocalizedGMT(String text, ParsePosition pos) {
         return parseOffsetLocalizedGMT(text, pos, true, null);
index 82882f838d9cd662ee921244cd76630c706a9170..0e7a7083d9c1715e4ed0bb84c867c953f9302d59 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *******************************************************************************
- * Copyright (C) 2011-2013, International Business Machines Corporation and    *
+ * Copyright (C) 2011-2014, International Business Machines Corporation and    *
  * others. All Rights Reserved.                                                *
  *******************************************************************************
  */
@@ -121,8 +121,7 @@ public abstract class TimeZoneNames implements Serializable {
         /**
          * Exemplar location name, such as "Los Angeles".
          * 
-         * @draft ICU 51
-         * @provisional This API might change or be removed in a future release.
+         * @stable ICU 51
          */
         EXEMPLAR_LOCATION,
     }
@@ -309,7 +308,7 @@ public abstract class TimeZoneNames implements Serializable {
      * @return A collection of matches.
      * @see NameType
      * @see MatchInfo
-     * @draft ICU 49
+     * @draft ICU 49 (Retain)
      * @provisional This API might change or be removed in a future release.
      */
     public Collection<MatchInfo> find(CharSequence text, int start, EnumSet<NameType> types) {
@@ -319,7 +318,7 @@ public abstract class TimeZoneNames implements Serializable {
     /**
      * A <code>MatchInfo</code> represents a time zone name match used by
      * {@link TimeZoneNames#find(CharSequence, int, EnumSet)}.
-     * @draft ICU 49
+     * @draft ICU 49 (Retain)
      * @provisional This API might change or be removed in a future release.
      */
     public static class MatchInfo {
@@ -339,7 +338,7 @@ public abstract class TimeZoneNames implements Serializable {
          * or 2) both <code>tzID</code> and <code>mzID</code> are <code>null</code>,
          * or 3) <code>matchLength</code> is 0 or smaller.
          * @see NameType
-         * @draft ICU 49
+         * @draft ICU 49 (Retain)
          * @provisional This API might change or be removed in a future release.
          */
         public MatchInfo(NameType nameType, String tzID, String mzID, int matchLength) {
@@ -366,7 +365,7 @@ public abstract class TimeZoneNames implements Serializable {
          * 
          * @return the time zone ID, or <code>null</code>.
          * @see #mzID()
-         * @draft ICU 49
+         * @draft ICU 49 (Retain)
          * @provisional This API might change or be removed in a future release.
          */
         public String tzID() {
@@ -381,7 +380,7 @@ public abstract class TimeZoneNames implements Serializable {
          * 
          * @return the meta zone ID, or <code>null</code>.
          * @see #tzID()
-         * @draft ICU 49
+         * @draft ICU 49 (Retain)
          * @provisional This API might change or be removed in a future release.
          */
         public String mzID() {
@@ -392,7 +391,7 @@ public abstract class TimeZoneNames implements Serializable {
          * Returns the time zone name type.
          * @return the time zone name type enum.
          * @see NameType
-         * @draft ICU 49
+         * @draft ICU 49 (Retain)
          * @provisional This API might change or be removed in a future release.
          */
         public NameType nameType() {
@@ -402,7 +401,7 @@ public abstract class TimeZoneNames implements Serializable {
         /**
          * Returns the match length.
          * @return the match length.
-         * @draft ICU 49
+         * @draft ICU 49 (Retain)
          * @provisional This API might change or be removed in a future release.
          */
         public int matchLength() {
@@ -413,7 +412,7 @@ public abstract class TimeZoneNames implements Serializable {
     /**
      * Sole constructor for invocation by subclass constructors.
      * 
-     * @draft ICU 49
+     * @draft ICU 49 (Retain)
      * @provisional This API might change or be removed in a future release.
      */
     protected TimeZoneNames() {