# The set of ICU4J Javadoc replacements. # This is a version of the upstream UCharacter docs from ICU 58 with some changes: # Removal of paragraphs that make no sense on Android. --type:android.icu.lang.UCharacter /** * {@icuenhanced java.lang.Character}.{@icu _usage_} * *

The UCharacter class provides extensions to the {@link java.lang.Character} class. * These extensions provide support for more Unicode properties. * Each ICU release supports the latest version of Unicode available at that time. * *

For some time before Java 5 added support for supplementary Unicode code points, * The ICU UCharacter class and many other ICU classes already supported them. * Some UCharacter methods and constants were widened slightly differently than * how the Character class methods and constants were widened later. * In particular, {@link Character#MAX_VALUE} is still a char with the value U+FFFF, * while the {@link UCharacter#MAX_VALUE} is an int with the value U+10FFFF. * *

Code points are represented in these API using ints. While it would be * more convenient in Java to have a separate primitive datatype for them, * ints suffice in the meantime. * *

Aside from the additions for UTF-16 support, and the updated Unicode * properties, the main differences between UCharacter and Character are: *

*

* In addition to Java compatibility functions, which calculate derived properties, * this API provides low-level access to the Unicode Character Database. *

* Unicode assigns each code point (not just assigned character) values for * many properties. * Most of them are simple boolean flags, or constants from a small enumerated list. * For some properties, values are strings or other relatively more complex types. *

* For more information see * "About the Unicode Character Database" * (http://www.unicode.org/ucd/) * and the ICU * User Guide chapter on Properties * (http://www.icu-project.org/userguide/properties.html). *

* There are also functions that provide easy migration from C/POSIX functions * like isblank(). Their use is generally discouraged because the C/POSIX * standards do not define their semantics beyond the ASCII range, which means * that different implementations exhibit very different behavior. * Instead, Unicode properties should be used directly. *

* There are also only a few, broad C/POSIX character classes, and they tend * to be used for conflicting purposes. For example, the "isalpha()" class * is sometimes used to determine word boundaries, while a more sophisticated * approach would at least distinguish initial letters from continuation * characters (the latter including combining marks). * (In ICU, BreakIterator is the most sophisticated API for word boundaries.) * Another example: There is no "istitle()" class for titlecase characters. *

* ICU 3.4 and later provides API access for all twelve C/POSIX character classes. * ICU implements them according to the Standard Recommendations in * Annex C: Compatibility Properties of UTS #18 Unicode Regular Expressions * (http://www.unicode.org/reports/tr18/#Compatibility_Properties). *

* API access for C/POSIX character classes is as follows: *

{@code
 * - alpha:     isUAlphabetic(c) or hasBinaryProperty(c, UProperty.ALPHABETIC)
 * - lower:     isULowercase(c) or hasBinaryProperty(c, UProperty.LOWERCASE)
 * - upper:     isUUppercase(c) or hasBinaryProperty(c, UProperty.UPPERCASE)
 * - punct:     ((1<
 * 

* The C/POSIX character classes are also available in UnicodeSet patterns, * using patterns like [:graph:] or \p{graph}. * *

{@icunote} There are several ICU (and Java) whitespace functions. * Comparison:

* *

* This class is not subclassable. * * @author Syn Wee Quek * @stable ICU 2.1 * @see com.ibm.icu.lang.UCharacterEnums */ -- # Remove ICU class docs that refer to provisional methods. --type:android.icu.util.IslamicCalendar /** * IslamicCalendar is a subclass of Calendar * that that implements the Islamic civil and religious calendars. It * is used as the civil calendar in most of the Arab world and the * liturgical calendar of the Islamic faith worldwide. This calendar * is also known as the "Hijri" calendar, since it starts at the time * of Mohammed's emigration (or "hijra") to Medinah on Thursday, * July 15, 622 AD (Julian). *

* The Islamic calendar is strictly lunar, and thus an Islamic year of twelve * lunar months does not correspond to the solar year used by most other * calendar systems, including the Gregorian. An Islamic year is, on average, * about 354 days long, so each successive Islamic year starts about 11 days * earlier in the corresponding Gregorian year. *

* Each month of the calendar starts when the new moon's crescent is visible * at sunset. However, in order to keep the time fields in this class * synchronized with those of the other calendars and with local clock time, * we treat days and months as beginning at midnight, * roughly 6 hours after the corresponding sunset. *

* There are three main variants of the Islamic calendar in existence. The first * is the civil calendar, which uses a fixed cycle of alternating 29- * and 30-day months, with a leap day added to the last month of 11 out of * every 30 years. This calendar is easily calculated and thus predictable in * advance, so it is used as the civil calendar in a number of Arab countries. * This is the default behavior of a newly-created IslamicCalendar * object. *

* The Islamic religious calendar and Saudi Arabia's Umm al-Qura * calendar, however, are based on the observation of the crescent moon. * It is thus affected by the position at which the * observations are made, seasonal variations in the time of sunset, the * eccentricities of the moon's orbit, and even the weather at the observation * site. This makes it impossible to calculate in advance, and it causes the * start of a month in the religious calendar to differ from the civil calendar * by up to three days. *

* Using astronomical calculations for the position of the sun and moon, the * moon's illumination, and other factors, it is possible to determine the start * of a lunar month with a fairly high degree of certainty. However, these * calculations are extremely complicated and thus slow, so most algorithms, * including the one used here, are only approximations of the true astronomical * calculations. At present, the approximations used in this class are fairly * simplistic; they will be improved in later versions of the code. *

* Like the Islamic religious calendar, Umm al-Qura is also based * on the sighting method of the crescent moon but is standardized by Saudi Arabia. *

* The fixed-cycle civil calendar is used. *

* This class should not be subclassed.

*

* IslamicCalendar usually should be instantiated using * {@link com.ibm.icu.util.Calendar#getInstance(ULocale)} passing in a ULocale * with the tag "@calendar=islamic" or "@calendar=islamic-civil" * or "@calendar=islamic-umalqura".

* * @see com.ibm.icu.util.GregorianCalendar * @see com.ibm.icu.util.Calendar * * @author Laura Werner * @author Alan Liu * @stable ICU 2.8 */ -- # Remove @see reference to non-public class TimeUnitAmount. --type:android.icu.util.TimeUnit /** * Measurement unit for time units. * @see TimeUnit * @author markdavis * @stable ICU 4.0 */ -- # Remove references to setDefault* methods that are hidden on Android. --type:android.icu.util.TimeZone /** * {@icuenhanced java.util.TimeZone}.{@icu _usage_} * *

TimeZone represents a time zone offset, and also computes daylight * savings. * *

Typically, you get a TimeZone using {@link #getDefault()} * which creates a TimeZone based on the time zone where the program * is running. For example, for a program running in Japan, getDefault * creates a TimeZone object based on Japanese Standard Time. * *

You can also get a TimeZone using {@link #getTimeZone(String)} * along with a time zone ID. For instance, the time zone ID for the * U.S. Pacific Time zone is "America/Los_Angeles". So, you can get a * U.S. Pacific Time TimeZone object with: * *

*
 * TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
 * 
*
* You can use the {@link #getAvailableIDs()} method to iterate through * all the supported time zone IDs, or getCanonicalID method to check * if a time zone ID is supported or not. You can then choose a * supported ID to get a TimeZone. * If the time zone you want is not represented by one of the * supported IDs, then you can create a custom time zone ID with * the following syntax: * *
*
 * GMT[+|-]hh[[:]mm]
 * 
*
* * For example, you might specify GMT+14:00 as a custom * time zone ID. The TimeZone that is returned * when you specify a custom time zone ID uses the specified * offset from GMT(=UTC) and does not observe daylight saving * time. For example, you might specify GMT+14:00 as a custom * time zone ID to create a TimeZone representing 14 hours ahead * of GMT (with no daylight saving time). In addition, * getCanonicalID can also be used to * normalize a custom time zone ID. * *

For compatibility with JDK 1.1.x, some other three-letter time zone IDs * (such as "PST", "CTT", "AST") are also supported. However, their * use is deprecated because the same abbreviation is often used * for multiple time zones (for example, "CST" could be U.S. "Central Standard * Time" and "China Standard Time"), and the Java platform can then only * recognize one of them. * * @see Calendar * @see GregorianCalendar * @see SimpleTimeZone * @author Mark Davis, Deborah Goldsmith, Chen-Lieh Huang, Alan Liu * @stable ICU 2.0 */ -- # Remove references to {get,set}DefaultTimezoneType methods that are hidden on Android. --field:android.icu.util.TimeZone#TIMEZONE_ICU /** * [icu] A time zone implementation type indicating ICU's own TimeZone used by * getTimeZone. */ -- # Remove references to {get,set}DefaultTimezoneType methods that are hidden on Android. --field:android.icu.util.TimeZone#TIMEZONE_JDK /** * [icu] A time zone implementation type indicating the {@link java.util.TimeZone} * used by getTimeZone. */ -- # Remove ICU class docs that refer to provisional methods. --type:android.icu.util.ULocale /** * {@icuenhanced java.util.Locale}.{@icu _usage_} * * A class analogous to {@link java.util.Locale} that provides additional * support for ICU protocol. In ICU 3.0 this class is enhanced to support * RFC 3066 language identifiers. * *

Many classes and services in ICU follow a factory idiom, in * which a factory method or object responds to a client request with * an object. The request includes a locale (the requested * locale), and the returned object is constructed using data for that * locale. The system may lack data for the requested locale, in * which case the locale fallback mechanism will be invoked until a * populated locale is found (the valid locale). Furthermore, * even when a populated locale is found (the valid locale), * further fallback may be required to reach a locale containing the * specific data required by the service (the actual locale). * *

ULocale performs 'normalization' and 'canonicalization' of locale ids. * Normalization 'cleans up' ICU locale ids as follows: *

* Canonicalization additionally performs the following: * * All ULocale constructors automatically normalize the locale id. To handle * POSIX ids, canonicalize can be called to convert the id * to canonical form, or the canonicalInstance factory method * can be called. * *

Note: The actual locale is returned correctly, but the valid * locale is not, in most cases. * * @see java.util.Locale * @author weiv * @author Alan Liu * @author Ram Viswanadha * @stable ICU 2.8 */ -- # Remove the reference to ULocale.setDefault() and remove system properties information. --method:android.icu.util.ULocale#getDefault() /** * Returns the current default ULocale. *

* The default ULocale is synchronized to the default Java Locale. This method checks * the current default Java Locale and returns an equivalent ULocale. * * @return the default ULocale. * @stable ICU 2.8 */ -- # Removal of sentence containing link to class that is not exposed in Android API --type:android.icu.text.UnicodeFilter /** * UnicodeFilter defines a protocol for selecting a * subset of the full range (U+0000 to U+FFFF) of Unicode characters. * @stable ICU 2.0 */ -- # Document that collation rules are omitted. --method:android.icu.text.RuleBasedCollator#getRules() /** * Gets the collation tailoring rules for this RuleBasedCollator. * Equivalent to String getRules(false). * *

On Android, the returned string will be empty unless this instance was * constructed using {@link #RuleBasedCollator(String)}. * * @return the collation tailoring rules * @see #getRules(boolean) * @stable ICU 2.8 */ -- # Deprecate method. --method:android.icu.util.Calendar#computeZoneOffset(long,int) /** * This method can assume EXTENDED_YEAR has been set. * @param millis milliseconds of the date fields (local midnight millis) * @param millisInDay milliseconds of the time fields; may be out * or range. * @return total zone offset (raw + DST) for the given moment * @stable ICU 2.0 * @deprecated This method suffers from a potential integer overflow and may be removed or * changed in a future release. See * ICU ticket #11632 for details. */ -- # Deprecate method. --method:android.icu.util.Calendar#computeMillisInDay() /** * Compute the milliseconds in the day from the fields. This is a * value from 0 to 23:59:59.999 inclusive, unless fields are out of * range, in which case it can be an arbitrary value. This value * reflects local zone wall time. * @stable ICU 2.0 * @deprecated This method suffers from a potential integer overflow and may be removed or * changed in a future release. See * ICU ticket #11632 for details. */ --