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>`, `Constable`

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

## 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
--- | ---
`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

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 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

### 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 Details

### values

public static StackWalker.Option[] values()
Returns an array containing the constants of this enum type, in the order they are declared.

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