<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<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>
<!-- Copyright 2014, IBM, All Rights Reserved. -->
</head>
<body>
<h1>ICU4J API Comparison: ICU4J 52.1 with ICU4J 53.0.1</h1>

<hr/>
<h2>Removed from ICU4J 52.1</h2>

<h3>Package com.ibm.icu.text</h3>
<ul>
PluralRules.SampleType
<ul>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.SampleType DECIMAL</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.SampleType INTEGER</li>
</ul>
PluralRules.StandardPluralCategories
<ul>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories few</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories many</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories one</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories other</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories two</li>
<li><span style='color:orange'>(draft)</span> public static final PluralRules.StandardPluralCategories zero</li>
</ul>
RuleBasedBreakIterator
<ul>
<li><span style='color:orange'>(draft)</span> public static final int WORD_IDEO</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_IDEO_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_KANA</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_KANA_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_LETTER</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_LETTER_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_NONE</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_NONE_LIMIT</li>
<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>
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>

<h3>Package com.ibm.icu.util</h3>
<ul>
GenderInfo.Gender
<ul>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.Gender FEMALE</li>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.Gender MALE</li>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.Gender OTHER</li>
</ul>
GenderInfo.ListGenderStyle
<ul>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.ListGenderStyle MALE_TAINTS</li>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.ListGenderStyle MIXED_NEUTRAL</li>
<li><span style='color:orange'>(draft)</span> public static final GenderInfo.ListGenderStyle NEUTRAL</li>
</ul>
TimeUnit
<ul>
<li><span style='color:green'>(stable)</span> public static TimeUnit DAY</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit HOUR</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit MINUTE</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit MONTH</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit SECOND</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit WEEK</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit YEAR</li>
</ul>
</ul>


<hr/>
<h2>Deprecated or Obsoleted in ICU4J 53.0.1</h2>
<p>(no API obsoleted)</p>

<hr/>
<h2>Changed in ICU4J 53.0.1 (old, new)</h2>

<h3>Package com.ibm.icu.text</h3>
<ul>
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>
</ul>
</ul>

<h3>Package com.ibm.icu.util</h3>
<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>
<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>


<hr/>
<h2>Promoted to stable in ICU4J 53.0.1</h2>

<h3>Package com.ibm.icu.text</h3>
<ul>
AlphabeticIndex.Bucket.LabelType
<ul>
<li><span style='color:green'>(stable)</span> public static final AlphabeticIndex.Bucket.LabelType INFLOW</li>
<li><span style='color:green'>(stable)</span> public static final AlphabeticIndex.Bucket.LabelType NORMAL</li>
<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>
</ul>


<hr/>
<h2>Added in ICU4J 53.0.1</h2>

<h3>Package com.ibm.icu.text</h3>
<ul>
<li><span style='color:orange'>(draft)</span> public final class <i>RelativeDateTimeFormatter</i></li>
<li><span style='color:orange'>(draft)</span> public static enum <i>DateFormat.BooleanAttribute</i></li>
<li><span style='color:orange'>(draft)</span> public static enum <i>MeasureFormat.FormatWidth</i></li>
<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>
BreakIterator
<ul>
<li><span style='color:orange'>(draft)</span> public static final int WORD_IDEO</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_IDEO_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_KANA</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_KANA_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_LETTER</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_LETTER_LIMIT</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_NONE</li>
<li><span style='color:orange'>(draft)</span> public static final int WORD_NONE_LIMIT</li>
<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>
DateFormat
<ul>
<li><span style='color:orange'>(draft)</span> public boolean <i>getBooleanAttribute</i>(DateFormat.BooleanAttribute)</li>
<li><span style='color:orange'>(draft)</span> public DisplayContext <i>getContext</i>(DisplayContext.Type)</li>
<li><span style='color:orange'>(draft)</span> public boolean <i>isCalendarLenient</i>()</li>
<li><span style='color:orange'>(draft)</span> public DateFormat <i>setBooleanAttribute</i>(DateFormat.BooleanAttribute, boolean)</li>
<li><span style='color:orange'>(draft)</span> public void <i>setCalendarLenient</i>(boolean)</li>
<li><span style='color:orange'>(draft)</span> public void <i>setContext</i>(DisplayContext)</li>
</ul>
DateFormat.BooleanAttribute
<ul>
<li><span style='color:orange'>(draft)</span> public static final DateFormat.BooleanAttribute PARSE_PARTIAL_MATCH</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 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 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>
<li><span style='color:orange'>(draft)</span> public Measure <i>parseObject</i>(java.lang.String, java.text.ParsePosition)</li>
</ul>
MeasureFormat.FormatWidth
<ul>
<li><span style='color:orange'>(draft)</span> public static final MeasureFormat.FormatWidth NARROW</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureFormat.FormatWidth NUMERIC</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureFormat.FormatWidth SHORT</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureFormat.FormatWidth WIDE</li>
</ul>
NumberFormat
<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>
RelativeDateTimeFormatter.AbsoluteUnit
<ul>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit DAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit FRIDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit MONDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit MONTH</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit NOW</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit SATURDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit SUNDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit THURSDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit TUESDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit WEDNESDAY</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit WEEK</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.AbsoluteUnit YEAR</li>
</ul>
RelativeDateTimeFormatter.Direction
<ul>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction LAST</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction LAST_2</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction NEXT</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction NEXT_2</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction PLAIN</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.Direction THIS</li>
</ul>
RelativeDateTimeFormatter.RelativeUnit
<ul>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit DAYS</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit HOURS</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit MINUTES</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit MONTHS</li>
<li><span style='color:orange'>(draft)</span> public static final RelativeDateTimeFormatter.RelativeUnit SECONDS</li>
<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
<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>
</ul>
</ul>

<h3>Package com.ibm.icu.util</h3>
<ul>
MeasureUnit
<ul>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit ACRE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit ARC_MINUTE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit ARC_SECOND</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit CELSIUS</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit CENTIMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit CUBIC_KILOMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit CUBIC_MILE</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit DAY</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit DEGREE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit FAHRENHEIT</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit FOOT</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit GRAM</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit G_FORCE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit HECTARE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit HECTOPASCAL</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit HORSEPOWER</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit HOUR</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit INCH</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit INCH_HG</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit KILOGRAM</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit KILOMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit KILOMETER_PER_HOUR</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit KILOWATT</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit LIGHT_YEAR</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit LITER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit METER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit METER_PER_SECOND</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MILE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MILE_PER_HOUR</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MILLIBAR</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MILLIMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit MILLISECOND</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit MINUTE</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit MONTH</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit OUNCE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit PICOMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit POUND</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit SECOND</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SQUARE_FOOT</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SQUARE_KILOMETER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SQUARE_METER</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit SQUARE_MILE</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit WATT</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit WEEK</li>
<li><span style='color:orange'>(draft)</span> public static final MeasureUnit YARD</li>
<li><span style='color:green'>(stable)</span> public static TimeUnit YEAR</li>
<li><span style='color:orange'>(draft)</span> public boolean <i>equals</i>(java.lang.Object)</li>
<li><span style='color:orange'>(draft)</span> public static synchronized java.util.Set&lt;MeasureUnit&gt; <i>getAvailable</i>()</li>
<li><span style='color:orange'>(draft)</span> public static synchronized java.util.Set&lt;MeasureUnit&gt; <i>getAvailable</i>(java.lang.String)</li>
<li><span style='color:orange'>(draft)</span> public static synchronized java.util.Set&lt;java.lang.String&gt; <i>getAvailableTypes</i>()</li>
<li><span style='color:orange'>(draft)</span> public java.lang.String <i>getSubtype</i>()</li>
<li><span style='color:orange'>(draft)</span> public java.lang.String <i>getType</i>()</li>
<li><span style='color:orange'>(draft)</span> public int <i>hashCode</i>()</li>
<li><span style='color:orange'>(draft)</span> public java.lang.String <i>toString</i>()</li>
</ul>
ULocale
<ul>
<li><span style='color:orange'>(draft)</span> public int <i>compareTo</i>(ULocale)</li>
</ul>
</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>
</body>
</html>
