<!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 49.1 with ICU4J 50.0.2</title>
<!-- Copyright 2012, IBM, All Rights Reserved. -->
</head>
<body>
<h1>ICU4J API Comparison: ICU4J 49.1 with ICU4J 50.0.2</h1>

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

<h3>Package com.ibm.icu.text</h3>
<ul>
<li><span style='color:green'>(stable)</span> public class <i>DictionaryBasedBreakIterator</i></li>
CharsetMatch
<ul>
<li><span style='color:green'>(stable)</span> public static final int BOM</li>
<li><span style='color:green'>(stable)</span> public static final int DECLARED_ENCODING</li>
<li><span style='color:green'>(stable)</span> public static final int ENCODING_SCHEME</li>
<li><span style='color:green'>(stable)</span> public static final int LANG_STATISTICS</li>
<li><span style='color:orange'>(draft)</span> public int <i>getMatchType</i>()</li>
</ul>
</ul>


<hr/>
<h2>Deprecated or Obsoleted in ICU4J 50.0.2</h2>

<h3>Package com.ibm.icu.text</h3>
<ul>
<li><span style='color:gray'>(deprecated)</span> public class <i>ChineseDateFormat</i></li>
<li><span style='color:gray'>(deprecated)</span> public static class <i>ChineseDateFormat.Field</i></li>
<li><span style='color:gray'>(deprecated)</span> public class <i>ChineseDateFormatSymbols</i></li>
PluralFormat
<ul>
<li><span style='color:gray'>(deprecated)</span> public void <i>setLocale</i>(ULocale)</li>
</ul>
RuleBasedCollator
<ul>
<li><span style='color:gray'>(deprecated)</span> public boolean <i>isHiraganaQuaternary</i>()</li>
<li><span style='color:gray'>(deprecated)</span> public void <i>setHiraganaQuaternary</i>(boolean)</li>
<li><span style='color:gray'>(deprecated)</span> public void <i>setHiraganaQuaternaryDefault</i>()</li>
</ul>
</ul>


<hr/>
<h2>Changed in ICU4J 50.0.2 (old, new)</h2>
<p>(no API changed)</p>

<hr/>
<h2>Promoted to stable in ICU4J 50.0.2</h2>
<p>(no API promoted to stable)</p>

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

<h3>Package com.ibm.icu.lang</h3>
<ul>
UCharacter.GraphemeClusterBreak
<ul>
<li><span style='color:green'>(stable)</span> public static final int REGIONAL_INDICATOR</li>
</ul>
UCharacter.LineBreak
<ul>
<li><span style='color:green'>(stable)</span> public static final int REGIONAL_INDICATOR</li>
</ul>
UCharacter.WordBreak
<ul>
<li><span style='color:green'>(stable)</span> public static final int REGIONAL_INDICATOR</li>
</ul>
</ul>

<h3>Package com.ibm.icu.text</h3>
<ul>
<li><span style='color:orange'>(draft)</span> public final class <i>ListFormatter</i></li>
<li><span style='color:orange'>(draft)</span> public static final class <i>PluralRules.PluralType</i></li>
MessagePattern.ArgType
<ul>
<li><span style='color:orange'>(draft)</span> public boolean <i>hasPluralStyle</i>()</li>
</ul>
PluralFormat
<ul>
<li><span style='color:orange'>(draft)</span> public <i>PluralFormat</i>(ULocale, PluralRules.PluralType)</li>
<li><span style='color:orange'>(draft)</span> public <i>PluralFormat</i>(ULocale, PluralRules.PluralType, java.lang.String)</li>
</ul>
PluralRules
<ul>
<li><span style='color:orange'>(draft)</span> public static PluralRules <i>forLocale</i>(ULocale, PluralRules.PluralType)</li>
</ul>
</ul>

<h3>Package com.ibm.icu.util</h3>
<ul>
VersionInfo
<ul>
<li><span style='color:green'>(stable)</span> public static final VersionInfo UNICODE_6_2</li>
</ul>
</ul>

<hr/>
<p><i><font size="-1">Contents generated by ReportAPI tool on Mon Sep 03 22:58:24 EDT 2012<br/>Copyright (C) 2012, International Business Machines Corporation, All Rights Reserved.</font></i></p>
</body>
</html>
