Module java.base
Package java.lang

## Enum StackWalker.Option

- java.lang.Object
- - java.lang.Enum<StackWalker.Option>
  - - java.lang.StackWalker.Option

- All Implemented Interfaces:
    `Serializable`, `Comparable<StackWalker.Option>`
  Enclosing class:
    StackWalker

      public static enum StackWalker.Option
      extends Enum<StackWalker.Option>

  Stack walker option to configure the stack frame information obtained by a `StackWalker`.
  Since:
    9

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `RETAIN_CLASS_REFERENCE` | Retains `Class` object in `StackFrame`s walked by this `StackWalker`.
    `SHOW_HIDDEN_FRAMES` | Shows all hidden frames.
    `SHOW_REFLECT_FRAMES` | Shows all reflection frames.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static StackWalker.Option` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static StackWalker.Option[]` | `values​()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

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

    - ### Methods inherited from class java.lang.Object

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

- - ### Enum Constant Detail

    - #### RETAIN_CLASS_REFERENCE

          public static final StackWalker.Option RETAIN_CLASS_REFERENCE

      Retains `Class` object in `StackFrame`s walked by this `StackWalker`.

      A `StackWalker` configured with this option will support `StackWalker.getCallerClass()` and `StackFrame.getDeclaringClass()`.

    - #### SHOW_REFLECT_FRAMES

          public static final StackWalker.Option SHOW_REFLECT_FRAMES

      Shows all reflection frames.

      By default, reflection frames are hidden. A `StackWalker` configured with this `SHOW_REFLECT_FRAMES` option will show all reflection frames that include `Method.invoke(java.lang.Object, java.lang.Object...)` and `Constructor.newInstance(Object...)` and their reflection implementation classes.

      The `SHOW_HIDDEN_FRAMES` option can also be used to show all reflection frames and it will also show other hidden frames that are implementation-specific.

      API Note:
        This option includes the stack frames representing the invocation of `Method` and `Constructor`. Any utility methods that are equivalent to calling `Method.invoke` or `Constructor.newInstance` such as `Class.newInstance` are not filtered or controlled by any stack walking option.

    - #### SHOW_HIDDEN_FRAMES

          public static final StackWalker.Option SHOW_HIDDEN_FRAMES

      Shows all hidden frames.

      A Java Virtual Machine implementation may hide implementation specific frames in addition to reflection frames. A `StackWalker` with this `SHOW_HIDDEN_FRAMES` option will show all hidden frames (including reflection frames).

  - ### Method Detail

    - #### values

          public static StackWalker.Option[] values​()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (StackWalker.Option c : StackWalker.Option.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static StackWalker.Option valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type has no constant with the specified name
        `NullPointerException` - if the argument is null