Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Enums](https://developer.android.com/reference/java/lang/StackWalker.Option#enumconstants) \| [Methods](https://developer.android.com/reference/java/lang/StackWalker.Option#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/java/lang/StackWalker.Option#inhmethods)

# StackWalker.Option

` public static final enum StackWalker.Option `   
` ` ` extends https://developer.android.com/reference/java/lang/Enum<https://developer.android.com/reference/java/lang/StackWalker.Option> ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [java.lang.Enum](https://developer.android.com/reference/java/lang/Enum)\<[java.lang.StackWalker.Option](https://developer.android.com/reference/java/lang/StackWalker.Option)\> ||
|   | ↳ | java.lang.StackWalker.Option |

<br />

*** ** * ** ***

Stack walker option to configure the [stack frame](https://developer.android.com/reference/java/lang/StackWalker.StackFrame) information obtained by a `StackWalker`.

## Summary

| ### Enum values ||
|---|---|
| `https://developer.android.com/reference/java/lang/StackWalker.Option` | `RETAIN_CLASS_REFERENCE` Retains `Class` object in `StackFrame`s walked by this `StackWalker`. |
| `https://developer.android.com/reference/java/lang/StackWalker.Option` | `SHOW_HIDDEN_FRAMES` Shows all hidden frames. |
| `https://developer.android.com/reference/java/lang/StackWalker.Option` | `SHOW_REFLECT_FRAMES` Shows all reflection frames. |

| ### Public methods ||
|---|---|
| ` static https://developer.android.com/reference/java/lang/StackWalker.Option` | ` https://developer.android.com/reference/java/lang/StackWalker.Option#valueOf(java.lang.String)(https://developer.android.com/reference/java/lang/String name) ` |
| ` static final https://developer.android.com/reference/java/lang/StackWalker.Option` | ` https://developer.android.com/reference/java/lang/StackWalker.Option#values()() ` |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Enum ` ` final https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Enum#clone()() `

Throws CloneNotSupportedException.
` final int` ` https://developer.android.com/reference/java/lang/Enum#compareTo(E)(https://developer.android.com/reference/java/lang/StackWalker.Option o) `

Compares this enum with the specified object for order.
` final boolean` ` https://developer.android.com/reference/java/lang/Enum#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object other) `

Returns true if the specified object is equal to this enum constant.
` final void` ` https://developer.android.com/reference/java/lang/Enum#finalize()() `

enum classes cannot have finalize methods.
` final https://developer.android.com/reference/java/lang/Class<https://developer.android.com/reference/java/lang/StackWalker.Option>` ` https://developer.android.com/reference/java/lang/Enum#getDeclaringClass()() `

Returns the Class object corresponding to this enum constant's enum type.
` final int` ` https://developer.android.com/reference/java/lang/Enum#hashCode()() `

Returns a hash code for this enum constant.
` final https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Enum#name()() `

Returns the name of this enum constant, exactly as declared in its enum declaration.
` final int` ` https://developer.android.com/reference/java/lang/Enum#ordinal()() `

Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Enum#toString()() `

Returns the name of this enum constant, as contained in the declaration.
` static <T extends https://developer.android.com/reference/java/lang/Enum<T>> T` ` https://developer.android.com/reference/java/lang/Enum#valueOf(java.lang.Class<T>,%20java.lang.String)(https://developer.android.com/reference/java/lang/Class<T> enumClass, https://developer.android.com/reference/java/lang/String name) `

Returns the enum constant of the specified enum class with the specified name.
From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.
From interface ` https://developer.android.com/reference/java/lang/Comparable ` ` abstract int` ` https://developer.android.com/reference/java/lang/Comparable#compareTo(T)(https://developer.android.com/reference/java/lang/StackWalker.Option o) `

Compares this object with the specified object for order.

## Enum values

### RETAIN_CLASS_REFERENCE

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/java/lang/StackWalker#getCallerClass()` and `https://developer.android.com/reference/java/lang/StackWalker.StackFrame#getDeclaringClass()`.

<br />

### SHOW_HIDDEN_FRAMES

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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](https://developer.android.com/reference/java/lang/StackWalker.Option#SHOW_REFLECT_FRAMES). A `StackWalker` with this `SHOW_HIDDEN_FRAMES` option will show all hidden frames (including reflection frames).

<br />

### SHOW_REFLECT_FRAMES

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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 `https://developer.android.com/reference/java/lang/reflect/Method#invoke(java.lang.Object,%20java.lang.Object[])` and `https://developer.android.com/reference/java/lang/reflect/Constructor#newInstance(java.lang.Object[])` and their reflection implementation classes.

The `https://developer.android.com/reference/java/lang/StackWalker.Option#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.

<br />

## Public methods

### valueOf

```
public static StackWalker.Option valueOf (String name)
```

<br />

<br />

| Parameters ||
|---|---|
| `name` | `String` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/StackWalker.Option` | <br /> |

### values

```
public static final Option[] values ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/StackWalker.Option` | <br /> |