17935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 27935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 37935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Copyright (C) 1996-2004, International Business Machines Corporation and * 47935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * others. All Rights Reserved. * 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ******************************************************************************* 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.lang; 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.lang.UCharacterEnums.ECharacterCategory; 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Enumerated Unicode category types from the UnicodeData.txt file. 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Used as return results from <a href=UCharacter.html>UCharacter</a> 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Equivalent to icu's UCharCategory. 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Refer to <a href="http://www.unicode.org/Public/UNIDATA/UCD.html"> 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Unicode Consortium</a> for more information about UnicodeData.txt. 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p> 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <em>NOTE:</em> the UCharacterCategory values are <em>not</em> compatible with 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * those returned by java.lang.Character.getType. UCharacterCategory values 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * match the ones used in ICU4C, while java.lang.Character type 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * values, though similar, skip the value 17.</p> 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p> 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * This class is not subclassable 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * </p> 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author Syn Wee Quek 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.1 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic final class UCharacterCategory implements ECharacterCategory 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert{ 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets the name of the argument category 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param category to retrieve name 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return category name 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.1 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static String toString(int category) 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert switch (category) { 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case UPPERCASE_LETTER : 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Letter, Uppercase"; 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LOWERCASE_LETTER : 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Letter, Lowercase"; 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case TITLECASE_LETTER : 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Letter, Titlecase"; 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case MODIFIER_LETTER : 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Letter, Modifier"; 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case OTHER_LETTER : 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Letter, Other"; 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case NON_SPACING_MARK : 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Mark, Non-Spacing"; 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case ENCLOSING_MARK : 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Mark, Enclosing"; 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case COMBINING_SPACING_MARK : 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Mark, Spacing Combining"; 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case DECIMAL_DIGIT_NUMBER : 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Number, Decimal Digit"; 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LETTER_NUMBER : 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Number, Letter"; 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case OTHER_NUMBER : 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Number, Other"; 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case SPACE_SEPARATOR : 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Separator, Space"; 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LINE_SEPARATOR : 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Separator, Line"; 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case PARAGRAPH_SEPARATOR : 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Separator, Paragraph"; 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case CONTROL : 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Other, Control"; 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case FORMAT : 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Other, Format"; 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case PRIVATE_USE : 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Other, Private Use"; 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case SURROGATE : 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Other, Surrogate"; 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case DASH_PUNCTUATION : 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Dash"; 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case START_PUNCTUATION : 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Open"; 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case END_PUNCTUATION : 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Close"; 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case CONNECTOR_PUNCTUATION : 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Connector"; 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case OTHER_PUNCTUATION : 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Other"; 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case MATH_SYMBOL : 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Symbol, Math"; 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case CURRENCY_SYMBOL : 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Symbol, Currency"; 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case MODIFIER_SYMBOL : 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Symbol, Modifier"; 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case OTHER_SYMBOL : 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Symbol, Other"; 957935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case INITIAL_PUNCTUATION : 967935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Initial quote"; 977935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case FINAL_PUNCTUATION : 987935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Punctuation, Final quote"; 997935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1007935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Unassigned"; 1017935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1027935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 1037935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // private constructor ----------------------------------------------- 1047935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:OFF 1057935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 1067935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Private constructor to prevent initialisation 1077935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 1087935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private UCharacterCategory() 1097935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 1107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 1117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:ON 1127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 113