DisplayContext.java revision 7935b1839a081ed19ae0d33029ad3c09632a2caa
17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/* 27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 2012-2014, International Business Machines Corporation and * 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved. * 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.text; 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Display context settings. 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Note, the specific numeric values are internal and may change. 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic enum DisplayContext { 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for DIALECT_HANDLING (use one) 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DIALECT_HANDLING: 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use standard names when generating a locale name, 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. en_GB displays as 'English (United Kingdom)'. 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert STANDARD_NAMES(Type.DIALECT_HANDLING, 0), 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DIALECT_HANDLING: 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use dialect names, when generating a locale name, 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. en_GB displays as 'British English'. 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DIALECT_NAMES(Type.DIALECT_HANDLING, 1), 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for CAPITALIZATION (use one) 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context to be used is unknown (this is the default value). 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_NONE(Type.CAPITALIZATION, 0), 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for the middle of a sentence. 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE(Type.CAPITALIZATION, 1), 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for the beginning of a sentence. 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_BEGINNING_OF_SENTENCE(Type.CAPITALIZATION, 2), 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for a user-interface list or menu item. 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_UI_LIST_OR_MENU(Type.CAPITALIZATION, 3), 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for CAPITALIZATION: 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * The capitalization context if a date, date symbol or display name is to be 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * formatted with capitalization appropriate for stand-alone usage such as an 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * isolated name on a calendar page. 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION_FOR_STANDALONE(Type.CAPITALIZATION, 4), 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * ================================ 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Settings for DISPLAY_LENGTH (use one) 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DISPLAY_LENGTH: 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use full names when generating a locale name, 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. "United States" for US. 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @draft ICU 54 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @provisional This API might change or be removed in a future release. 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LENGTH_FULL(Type.DISPLAY_LENGTH, 0), 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * A possible setting for DISPLAY_LENGTH: 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * use short names when generating a locale name, 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * e.g. "U.S." for US. 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @draft ICU 54 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @provisional This API might change or be removed in a future release. 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert LENGTH_SHORT(Type.DISPLAY_LENGTH, 1); 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Type values for DisplayContext 957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public enum Type { 987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * DIALECT_HANDLING can be set to STANDARD_NAMES or DIALECT_NAMES. 1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DIALECT_HANDLING, 1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * CAPITALIZATION can be set to one of CAPITALIZATION_NONE through 1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * CAPITALIZATION_FOR_STANDALONE. 1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert CAPITALIZATION, 1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * DISPLAY_LENGTH can be set to LENGTH_FULL or LENGTH_SHORT. 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @draft ICU 54 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @provisional This API might change or be removed in a future release. 1137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert DISPLAY_LENGTH 1157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private final Type type; 1187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private final int value; 1197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private DisplayContext(Type type, int value) { 1207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert this.type = type; 1217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert this.value = value; 1227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Get the Type part of the enum item 1257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (e.g. CAPITALIZATION) 1267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public Type type() { 1297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return type; 1307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Get the value part of the enum item 1337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * (e.g. CAPITALIZATION_FOR_STANDALONE) 1347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 51 1357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public int value() { 1377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return value; 1387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 140