Module javafx.graphics
Package javafx.scene

# Enum Class AccessibleRole

java.lang.Object
java.lang.Enum<AccessibleRole>
javafx.scene.AccessibleRole

All Implemented Interfaces:
  `Serializable`, `Comparable<AccessibleRole>`, `Constable`

public enum AccessibleRole extends Enum<AccessibleRole>
This enum describes the accessible role for a `Node`. The role is used by assistive technologies such as screen readers to decide the set of actions and attributes for a node. For example, when the screen reader needs the current value of a slider, it will request it using the value attribute. When the screen reader changes the value of the slider, it will use an action to set the current value of the slider. The slider must respond appropriately to both these requests.

Since:
  JavaFX 8u40
See Also:
  - `Node.setAccessibleRole(AccessibleRole)`
  - `Node.getAccessibleRole()`
  - `AccessibleAttribute.ROLE`
  - `Node.queryAccessibleAttribute(AccessibleAttribute, Object...)`
  - `Node.executeAccessibleAction(AccessibleAction, Object...)`

- ## Nested Class Summary

  ## Nested classes/interfaces declared in class java.lang.Enum

  `Enum.EnumDesc<E extends Enum<E>>`

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `BUTTON`
  Button role.
  `CHECK_BOX`
  Check Box role.
  `CHECK_BOX_TREE_ITEM`
  Check Box Tree Item role.
  `CHECK_MENU_ITEM`
  Check Menu Item role.
  `COMBO_BOX`
  Combo Box role.
  `CONTEXT_MENU`
  Context Menu role.
  `DATE_PICKER`
  Date Picker role.
  `DECREMENT_BUTTON`
  Decrement Button role.
  `DIALOG`
  Dialog role.
  `HYPERLINK`
  Hyperlink role.
  `IMAGE_VIEW`
  Image View role.
  `INCREMENT_BUTTON`
  Increment Button role.
  `LIST_ITEM`
  List Item role.
  `LIST_VIEW`
  List View role.
  `MENU`
  Menu role.
  `MENU_BAR`
  Menu Bar role.
  `MENU_BUTTON`
  Menu Button role.
  `MENU_ITEM`
  Menu Item role.
  `NODE`
  Node role.
  `PAGE_ITEM`
  Page role.
  `PAGINATION`
  Pagination role.
  `PARENT`
  Parent role.
  `PASSWORD_FIELD`
  Password Field role.
  `PROGRESS_INDICATOR`
  Progress Indicator role.
  `RADIO_BUTTON`
  Radio Button role.
  `RADIO_MENU_ITEM`
  Radio Menu Item role.
  `SCROLL_BAR`
  Scroll Bar role.
  `SCROLL_PANE`
  Scroll Pane role.
  `SLIDER`
  Slider role.
  `SPINNER`
  Spinner role.
  `SPLIT_MENU_BUTTON`
  Split Menu Button role.
  `TAB_ITEM`
  Tab Item role.
  `TAB_PANE`
  Tab Pane role.
  `TABLE_CELL`
  Table Cell role.
  `TABLE_COLUMN`
  Table Column role.
  `TABLE_ROW`
  Table Row role.
  `TABLE_VIEW`
  Table View role.
  `TEXT`
  Text role.
  `TEXT_AREA`
  Text Area role.
  `TEXT_FIELD`
  Text Field role.
  `THUMB`
  Thumb role.
  `TITLED_PANE`
  Titled Pane role.
  `TOGGLE_BUTTON`
  Toggle Button role.
  `TOOL_BAR`
  Tool Bar role.
  `TOOLTIP`
  Tooltip role.
  `TREE_ITEM`
  Tree Item role.
  `TREE_TABLE_CELL`
  Tree Table Cell role.
  `TREE_TABLE_ROW`
  Tree Table Row role.
  `TREE_TABLE_VIEW`
  Tree Table View role.
  `TREE_VIEW`
  Tree View role.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static AccessibleRole`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static AccessibleRole[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods declared in class java.lang.Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

  ### Methods declared in class java.lang.Object

  `getClass, notify, notifyAll, wait, wait, wait`

- ## Enum Constant Details

  - ### BUTTON

    public static final AccessibleRole BUTTON
    Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    Actions:
    - `AccessibleAction.FIRE`

  - ### CHECK_BOX

    public static final AccessibleRole CHECK_BOX
    Check Box role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    - `AccessibleAttribute.INDETERMINATE`
    Actions:
    - `AccessibleAction.FIRE`

  - ### CHECK_MENU_ITEM

    public static final AccessibleRole CHECK_MENU_ITEM
    Check Menu Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ACCELERATOR`
    - `AccessibleAttribute.MNEMONIC`
    - `AccessibleAttribute.DISABLED`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### COMBO_BOX

    public static final AccessibleRole COMBO_BOX
    Combo Box role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.EXPANDED`
    - `AccessibleAttribute.EDITABLE`
    Actions:
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`

  - ### CONTEXT_MENU

    public static final AccessibleRole CONTEXT_MENU
    Context Menu role.

    Attributes:

    - `AccessibleAttribute.PARENT_MENU`
    - `AccessibleAttribute.VISIBLE`

  - ### DATE_PICKER

    public static final AccessibleRole DATE_PICKER
    Date Picker role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.DATE`

  - ### DECREMENT_BUTTON

    public static final AccessibleRole DECREMENT_BUTTON
    Decrement Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    Actions:
    - `AccessibleAction.FIRE`

  - ### HYPERLINK

    public static final AccessibleRole HYPERLINK
    Hyperlink role.
    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.VISITED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### INCREMENT_BUTTON

    public static final AccessibleRole INCREMENT_BUTTON
    Increment Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    Actions:
    - `AccessibleAction.FIRE`

  - ### IMAGE_VIEW

    public static final AccessibleRole IMAGE_VIEW
    Image View role.

    Attributes: Actions:

    It is strongly recommended that a text description of the image be provided for each `ImageView`. This can be done by setting either `Node.accessibleTextProperty()` for the `ImageView` or by using `AccessibleAttribute.LABELED_BY`.

  - ### LIST_VIEW

    public static final AccessibleRole LIST_VIEW
    List View role.

    Attributes:

    - `AccessibleAttribute.ITEM_AT_INDEX`
    - `AccessibleAttribute.ITEM_COUNT`
    - `AccessibleAttribute.SELECTED_ITEMS`
    - `AccessibleAttribute.MULTIPLE_SELECTION`
    - `AccessibleAttribute.VERTICAL_SCROLLBAR`
    - `AccessibleAttribute.HORIZONTAL_SCROLLBAR`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:
    - `AccessibleAction.SHOW_ITEM`
    - `AccessibleAction.SET_SELECTED_ITEMS`

  - ### LIST_ITEM

    public static final AccessibleRole LIST_ITEM
    List Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.INDEX`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`

  - ### MENU

    public static final AccessibleRole MENU
    Menu role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ACCELERATOR`
    - `AccessibleAttribute.MNEMONIC`
    - `AccessibleAttribute.DISABLED`
    - `AccessibleAttribute.SUBMENU`
    Actions:
    - `AccessibleAction.FIRE`

  - ### MENU_BAR

    public static final AccessibleRole MENU_BAR
    Menu Bar role.

    Attributes:

    Actions:

  - ### MENU_BUTTON

    public static final AccessibleRole MENU_BUTTON
    Menu Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    Actions:
    - `AccessibleAction.FIRE`

  - ### MENU_ITEM

    public static final AccessibleRole MENU_ITEM
    Menu Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ACCELERATOR`
    - `AccessibleAttribute.MNEMONIC`
    - `AccessibleAttribute.DISABLED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### NODE

    public static final AccessibleRole NODE
    Node role.

    Attributes:

    - `AccessibleAttribute.ROLE`
    - `AccessibleAttribute.PARENT`
    - `AccessibleAttribute.SCENE`
    - `AccessibleAttribute.BOUNDS`
    - `AccessibleAttribute.DISABLED`
    - `AccessibleAttribute.FOCUSED`
    - `AccessibleAttribute.VISIBLE`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`
    Optional Attributes:
    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.LABELED_BY`
    - `AccessibleAttribute.ROLE_DESCRIPTION`
    - `AccessibleAttribute.HELP`
    Optional Actions:
    - `AccessibleAction.SHOW_MENU`

  - ### PAGE_ITEM

    public static final AccessibleRole PAGE_ITEM
    Page role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`

  - ### PAGINATION

    public static final AccessibleRole PAGINATION
    Pagination role.

    Attributes:

    - `AccessibleAttribute.ITEM_AT_INDEX`
    - `AccessibleAttribute.ITEM_COUNT`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:

  - ### PARENT

    public static final AccessibleRole PARENT
    Parent role.

    Attributes:

    - `AccessibleAttribute.CHILDREN`
    Actions:

  - ### PASSWORD_FIELD

    public static final AccessibleRole PASSWORD_FIELD
    Password Field role.

    Attributes:

    - `AccessibleAttribute.TEXT` - must return null or empty string
    Actions:

  - ### PROGRESS_INDICATOR

    public static final AccessibleRole PROGRESS_INDICATOR
    Progress Indicator role.

    Attributes:

    - `AccessibleAttribute.VALUE`
    - `AccessibleAttribute.MIN_VALUE`
    - `AccessibleAttribute.MAX_VALUE`
    - `AccessibleAttribute.INDETERMINATE`
    Actions:

  - ### RADIO_BUTTON

    public static final AccessibleRole RADIO_BUTTON
    Radio Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### RADIO_MENU_ITEM

    public static final AccessibleRole RADIO_MENU_ITEM
    Radio Menu Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ACCELERATOR`
    - `AccessibleAttribute.MNEMONIC`
    - `AccessibleAttribute.DISABLED`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### SLIDER

    public static final AccessibleRole SLIDER
    Slider role.

    Attributes:

    - `AccessibleAttribute.VALUE`
    - `AccessibleAttribute.MIN_VALUE`
    - `AccessibleAttribute.MAX_VALUE`
    - `AccessibleAttribute.ORIENTATION`
    Actions:
    - `AccessibleAction.INCREMENT`
    - `AccessibleAction.DECREMENT`
    - `AccessibleAction.SET_VALUE`

  - ### SPINNER

    public static final AccessibleRole SPINNER
    Spinner role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    Actions:
    - `AccessibleAction.INCREMENT`
    - `AccessibleAction.DECREMENT`

  - ### TEXT

    public static final AccessibleRole TEXT
    Text role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.FONT`
    Actions:
    - `AccessibleAction.SET_TEXT`

  - ### TEXT_AREA

    public static final AccessibleRole TEXT_AREA
    Text Area role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.FONT`
    - `AccessibleAttribute.EDITABLE`
    - `AccessibleAttribute.SELECTION_START`
    - `AccessibleAttribute.SELECTION_END`
    - `AccessibleAttribute.CARET_OFFSET`
    - `AccessibleAttribute.OFFSET_AT_POINT`
    - `AccessibleAttribute.LINE_START`
    - `AccessibleAttribute.LINE_END`
    - `AccessibleAttribute.LINE_FOR_OFFSET`
    - `AccessibleAttribute.BOUNDS_FOR_RANGE`
    Actions:
    - `AccessibleAction.SET_TEXT`
    - `AccessibleAction.SET_TEXT_SELECTION`

  - ### TEXT_FIELD

    public static final AccessibleRole TEXT_FIELD
    Text Field role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.FONT`
    - `AccessibleAttribute.EDITABLE`
    - `AccessibleAttribute.SELECTION_START`
    - `AccessibleAttribute.SELECTION_END`
    - `AccessibleAttribute.CARET_OFFSET`
    - `AccessibleAttribute.OFFSET_AT_POINT`
    - `AccessibleAttribute.BOUNDS_FOR_RANGE`
    Actions:
    - `AccessibleAction.SET_TEXT`
    - `AccessibleAction.SET_TEXT_SELECTION`

  - ### TOGGLE_BUTTON

    public static final AccessibleRole TOGGLE_BUTTON
    Toggle Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.FIRE`

  - ### TOOLTIP

    public static final AccessibleRole TOOLTIP
    Tooltip role.

    Attributes: Actions:

  - ### SCROLL_BAR

    public static final AccessibleRole SCROLL_BAR
    Scroll Bar role.

    Attributes:

    - `AccessibleAttribute.VALUE`
    - `AccessibleAttribute.MAX_VALUE`
    - `AccessibleAttribute.MIN_VALUE`
    - `AccessibleAttribute.ORIENTATION`
    Actions:
    - `AccessibleAction.INCREMENT`
    - `AccessibleAction.DECREMENT`
    - `AccessibleAction.BLOCK_INCREMENT`
    - `AccessibleAction.BLOCK_DECREMENT`
    - `AccessibleAction.SET_VALUE`

  - ### SCROLL_PANE

    public static final AccessibleRole SCROLL_PANE
    Scroll Pane role.

    Attributes:

    - `AccessibleAttribute.CONTENTS`
    - `AccessibleAttribute.HORIZONTAL_SCROLLBAR`
    - `AccessibleAttribute.VERTICAL_SCROLLBAR`
    Actions:

  - ### SPLIT_MENU_BUTTON

    public static final AccessibleRole SPLIT_MENU_BUTTON
    Split Menu Button role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.EXPANDED`
    Actions:
    - `AccessibleAction.FIRE`
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`

  - ### TAB_ITEM

    public static final AccessibleRole TAB_ITEM
    Tab Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`

  - ### TAB_PANE

    public static final AccessibleRole TAB_PANE
    Tab Pane role.

    Attributes:

    - `AccessibleAttribute.ITEM_AT_INDEX`
    - `AccessibleAttribute.ITEM_COUNT`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:

  - ### TABLE_CELL

    public static final AccessibleRole TABLE_CELL
    Table Cell role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ROW_INDEX`
    - `AccessibleAttribute.COLUMN_INDEX`
    - `AccessibleAttribute.SELECTED`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`

  - ### TABLE_COLUMN

    public static final AccessibleRole TABLE_COLUMN
    Table Column role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.INDEX`
    Actions:

  - ### TABLE_ROW

    public static final AccessibleRole TABLE_ROW
    Table Row role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.INDEX`
    Actions:

  - ### TABLE_VIEW

    public static final AccessibleRole TABLE_VIEW
    Table View role.

    Attributes:

    - `AccessibleAttribute.ROW_COUNT`
    - `AccessibleAttribute.ROW_AT_INDEX`
    - `AccessibleAttribute.COLUMN_COUNT`
    - `AccessibleAttribute.COLUMN_AT_INDEX`
    - `AccessibleAttribute.SELECTED_ITEMS`
    - `AccessibleAttribute.CELL_AT_ROW_COLUMN`
    - `AccessibleAttribute.HEADER`
    - `AccessibleAttribute.MULTIPLE_SELECTION`
    - `AccessibleAttribute.VERTICAL_SCROLLBAR`
    - `AccessibleAttribute.HORIZONTAL_SCROLLBAR`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:
    - `AccessibleAction.SHOW_ITEM`
    - `AccessibleAction.SET_SELECTED_ITEMS`

  - ### THUMB

    public static final AccessibleRole THUMB
    Thumb role.

    Attributes:

    - `AccessibleAttribute.VALUE`
    Actions:

  - ### TITLED_PANE

    public static final AccessibleRole TITLED_PANE
    Titled Pane role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.EXPANDED`
    Actions:
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`

  - ### TOOL_BAR

    public static final AccessibleRole TOOL_BAR
    Tool Bar role.

    Attributes:

    - `AccessibleAttribute.OVERFLOW_BUTTON`
    Actions:

  - ### TREE_ITEM

    public static final AccessibleRole TREE_ITEM
    Tree Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.INDEX`
    - `AccessibleAttribute.SELECTED`
    - `AccessibleAttribute.EXPANDED`
    - `AccessibleAttribute.LEAF`
    - `AccessibleAttribute.DISCLOSURE_LEVEL`
    - `AccessibleAttribute.TREE_ITEM_COUNT`
    - `AccessibleAttribute.TREE_ITEM_AT_INDEX`
    - `AccessibleAttribute.TREE_ITEM_PARENT`
    Actions:
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`
    - `AccessibleAction.REQUEST_FOCUS`

  - ### CHECK_BOX_TREE_ITEM

    public static final AccessibleRole CHECK_BOX_TREE_ITEM
    Check Box Tree Item role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.INDEX`
    - `AccessibleAttribute.SELECTED`
    - `AccessibleAttribute.EXPANDED`
    - `AccessibleAttribute.LEAF`
    - `AccessibleAttribute.DISCLOSURE_LEVEL`
    - `AccessibleAttribute.TREE_ITEM_COUNT`
    - `AccessibleAttribute.TREE_ITEM_AT_INDEX`
    - `AccessibleAttribute.TREE_ITEM_PARENT`
    - `AccessibleAttribute.TOGGLE_STATE`
    Actions:
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`
    - `AccessibleAction.REQUEST_FOCUS`
    Since:
      21

  - ### TREE_TABLE_CELL

    public static final AccessibleRole TREE_TABLE_CELL
    Tree Table Cell role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.SELECTED`
    - `AccessibleAttribute.ROW_INDEX`
    - `AccessibleAttribute.COLUMN_INDEX`
    Actions:
    - `AccessibleAction.REQUEST_FOCUS`

  - ### TREE_TABLE_ROW

    public static final AccessibleRole TREE_TABLE_ROW
    Tree Table Row role.

    Attributes:

    - `AccessibleAttribute.INDEX`
    - `AccessibleAttribute.EXPANDED`
    - `AccessibleAttribute.LEAF`
    - `AccessibleAttribute.DISCLOSURE_LEVEL`
    - `AccessibleAttribute.TREE_ITEM_COUNT`
    - `AccessibleAttribute.TREE_ITEM_AT_INDEX`
    - `AccessibleAttribute.TREE_ITEM_PARENT`
    Actions:
    - `AccessibleAction.EXPAND`
    - `AccessibleAction.COLLAPSE`

  - ### TREE_TABLE_VIEW

    public static final AccessibleRole TREE_TABLE_VIEW
    Tree Table View role.

    Attributes:

    - `AccessibleAttribute.ROW_COUNT`
    - `AccessibleAttribute.ROW_AT_INDEX`
    - `AccessibleAttribute.COLUMN_COUNT`
    - `AccessibleAttribute.COLUMN_AT_INDEX`
    - `AccessibleAttribute.SELECTED_ITEMS`
    - `AccessibleAttribute.CELL_AT_ROW_COLUMN`
    - `AccessibleAttribute.HEADER`
    - `AccessibleAttribute.MULTIPLE_SELECTION`
    - `AccessibleAttribute.VERTICAL_SCROLLBAR`
    - `AccessibleAttribute.HORIZONTAL_SCROLLBAR`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:
    - `AccessibleAction.SHOW_ITEM`
    - `AccessibleAction.SET_SELECTED_ITEMS`

  - ### TREE_VIEW

    public static final AccessibleRole TREE_VIEW
    Tree View role.

    Attributes:

    - `AccessibleAttribute.ROW_COUNT`
    - `AccessibleAttribute.ROW_AT_INDEX`
    - `AccessibleAttribute.SELECTED_ITEMS`
    - `AccessibleAttribute.MULTIPLE_SELECTION`
    - `AccessibleAttribute.VERTICAL_SCROLLBAR`
    - `AccessibleAttribute.HORIZONTAL_SCROLLBAR`
    - `AccessibleAttribute.FOCUS_ITEM`
    Actions:
    - `AccessibleAction.SHOW_ITEM`
    - `AccessibleAction.SET_SELECTED_ITEMS`

  - ### DIALOG

    public static final AccessibleRole DIALOG
    Dialog role.

    Attributes:

    - `AccessibleAttribute.TEXT`
    - `AccessibleAttribute.ROLE_DESCRIPTION`
    - `AccessibleAttribute.CHILDREN`
    Since:
      20

- ## Method Details

  - ### values

    public static AccessibleRole[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static AccessibleRole valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null