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