12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/* 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 5bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Copyright (C) 2012-2015, International Business Machines Corporation and * 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved. * 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.text; 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Display context settings. 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Note, the specific numeric values are internal and may change. 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic enum DisplayContext { 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for DIALECT_HANDLING (use one) 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DIALECT_HANDLING: 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use standard names when generating a locale name, 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. en_GB displays as 'English (United Kingdom)'. 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert STANDARD_NAMES(Type.DIALECT_HANDLING, 0), 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DIALECT_HANDLING: 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use dialect names, when generating a locale name, 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. en_GB displays as 'British English'. 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DIALECT_NAMES(Type.DIALECT_HANDLING, 1), 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for CAPITALIZATION (use one) 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context to be used is unknown (this is the default value). 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_NONE(Type.CAPITALIZATION, 0), 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for the middle of a sentence. 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE(Type.CAPITALIZATION, 1), 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for the beginning of a sentence. 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE(Type.CAPITALIZATION, 2), 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for a user-interface list or menu item. 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_UI_LIST_OR_MENU(Type.CAPITALIZATION, 3), 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for stand-alone usage such as an 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * isolated name on a calendar page. 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_STANDALONE(Type.CAPITALIZATION, 4), 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for DISPLAY_LENGTH (use one) 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DISPLAY_LENGTH: 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use full names when generating a locale name, 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. "United States" for US. 82bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * @stable ICU 54 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LENGTH_FULL(Type.DISPLAY_LENGTH, 0), 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DISPLAY_LENGTH: 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use short names when generating a locale name, 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. "U.S." for US. 89bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * @stable ICU 54 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 912d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert LENGTH_SHORT(Type.DISPLAY_LENGTH, 1), 922d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 932d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * ================================ 942d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Settings for SUBSTITUTE_HANDLING (choose one) 952d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 962d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 972d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * A possible setting for SUBSTITUTE_HANDLING: 982d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Returns a fallback value (e.g., the input code) when no data is available. 992d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * This is the default behavior. 1002d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @draft ICU 58 1012d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @provisional This API might change or be removed in a future release. 1022d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 1032d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert SUBSTITUTE(Type.SUBSTITUTE_HANDLING, 0), 1042d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 1052d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * A possible setting for SUBSTITUTE_HANDLING: 1062d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * Returns a null value when no data is available. 1072d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @draft ICU 58 1082d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @provisional This API might change or be removed in a future release. 1092d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 1102d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert NO_SUBSTITUTE(Type.SUBSTITUTE_HANDLING, 1); 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Type values for DisplayContext 1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public enum Type { 1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * DIALECT_HANDLING can be set to STANDARD_NAMES or DIALECT_NAMES. 1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DIALECT_HANDLING, 1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * CAPITALIZATION can be set to one of CAPITALIZATION_NONE through 1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * CAPITALIZATION_FOR_STANDALONE. 1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION, 1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * DISPLAY_LENGTH can be set to LENGTH_FULL or LENGTH_SHORT. 130bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * @stable ICU 54 1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1322d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert DISPLAY_LENGTH, 1332d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert /** 1342d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * SUBSTITUTE_HANDLING can be set to SUBSTITUTE or NO_SUBSTITUTE. 1352d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @draft ICU 58 1362d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert * @provisional This API might change or be removed in a future release. 1372d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert */ 1382d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert SUBSTITUTE_HANDLING 1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private final Type type; 1427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private final int value; 1437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private DisplayContext(Type type, int value) { 1447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert this.type = type; 1457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert this.value = value; 1467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Get the Type part of the enum item 1497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (e.g. CAPITALIZATION) 1507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public Type type() { 1537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return type; 1547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Get the value part of the enum item 1577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (e.g. CAPITALIZATION_FOR_STANDALONE) 1587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public int value() { 1617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return value; 1627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 164