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