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******************************************************************************* 57935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert* Copyright (C) 1996-2013, International Business Machines Corporation and 67935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert* others. All Rights Reserved. 77935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert******************************************************************************* 87935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert*/ 97935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 107935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpackage com.ibm.icu.lang; 117935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 127935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertimport com.ibm.icu.lang.UCharacterEnums.ECharacterDirection; 137935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 147935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert/** 157935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Enumerated Unicode character linguistic direction constants. 167935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Used as return results from <a href=UCharacter.html>UCharacter</a> 177935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * <p> 187935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * This class is not subclassable 197935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * </p> 207935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @author Syn Wee Quek 217935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.1 227935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 237935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 247935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubertpublic final class UCharacterDirection implements ECharacterDirection { 257935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 267935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert // private constructor ========================================= 277935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:OFF 287935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 297935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Private constructor to prevent initialisation 307935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 317935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert private UCharacterDirection() 327935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 337935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 347935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert ///CLOVER:ON 357935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert 367935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert /** 377935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * Gets the name of the argument direction 387935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @param dir direction type to retrieve name 397935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @return directional name 407935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert * @stable ICU 2.1 417935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert */ 427935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert public static String toString(int dir) { 437935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert switch(dir) 447935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert { 457935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LEFT_TO_RIGHT : 467935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Left-to-Right"; 477935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case RIGHT_TO_LEFT : 487935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Right-to-Left"; 497935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case EUROPEAN_NUMBER : 507935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "European Number"; 517935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case EUROPEAN_NUMBER_SEPARATOR : 527935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "European Number Separator"; 537935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case EUROPEAN_NUMBER_TERMINATOR : 547935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "European Number Terminator"; 557935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case ARABIC_NUMBER : 567935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Arabic Number"; 577935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case COMMON_NUMBER_SEPARATOR : 587935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Common Number Separator"; 597935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case BLOCK_SEPARATOR : 607935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Paragraph Separator"; 617935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case SEGMENT_SEPARATOR : 627935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Segment Separator"; 637935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case WHITE_SPACE_NEUTRAL : 647935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Whitespace"; 657935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case OTHER_NEUTRAL : 667935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Other Neutrals"; 677935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LEFT_TO_RIGHT_EMBEDDING : 687935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Left-to-Right Embedding"; 697935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LEFT_TO_RIGHT_OVERRIDE : 707935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Left-to-Right Override"; 717935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case RIGHT_TO_LEFT_ARABIC : 727935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Right-to-Left Arabic"; 737935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case RIGHT_TO_LEFT_EMBEDDING : 747935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Right-to-Left Embedding"; 757935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case RIGHT_TO_LEFT_OVERRIDE : 767935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Right-to-Left Override"; 777935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case POP_DIRECTIONAL_FORMAT : 787935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Pop Directional Format"; 797935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case DIR_NON_SPACING_MARK : 807935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Non-Spacing Mark"; 817935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case BOUNDARY_NEUTRAL : 827935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Boundary Neutral"; 837935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case FIRST_STRONG_ISOLATE: 847935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "First Strong Isolate"; 857935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case LEFT_TO_RIGHT_ISOLATE: 867935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Left-to-Right Isolate"; 877935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case RIGHT_TO_LEFT_ISOLATE: 887935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Right-to-Left Isolate"; 897935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert case POP_DIRECTIONAL_ISOLATE: 907935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Pop Directional Isolate"; 917935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 927935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert return "Unassigned"; 937935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert } 947935b1839a081ed19ae0d33029ad3c09632a2caaFredrik Roubert} 95