APIdia Launch Partner
Top Description Inners Fields Constructors Methods
java.lang

pack-priv final Class StackStreamFactory

extends Object
Class Inheritance
Imports
jdk.internal.reflect.MethodAccessor, .ConstructorAccessor, java.lang.StackWalker.Option, .StackWalker.StackFrame, java.lang.annotation.Native, java.lang.reflect.Array, .Method, .Constructor, java.util.Arrays, .HashSet, .NoSuchElementException, .Objects, .Set, .Spliterator, java.util.function.Consumer, .Function, java.util.stream.Stream, .StreamSupport, jdk.internal.vm.Continuation, .ContinuationScope

StackStreamFactory class provides static factory methods to get different kinds of stack walker/traverser. AbstractStackWalker provides the basic stack walking support fetching stack frames from VM in batches. AbstractStackWalker subclass is specialized for a specific kind of stack traversal to avoid overhead of Stream/Lambda 1. Support traversing Stream 2. StackWalker::getCallerClass 3. AccessControlContext getting ProtectionDomain

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv abstract static class
StackStreamFactory.AbstractStackWalker<
the type of the result returned from stack walking
R
,
the type of the data gathered for each frame. For example, StackFrameInfo for StackWalker::walk or Class for StackWalker::getCallerClass
T
>

Subclass of AbstractStackWalker implements a specific stack walking logic.

pack-priv static class
pack-priv static class
pack-priv abstract static class
pack-priv static class
pack-priv static class
pack-priv static class
pack-priv static enum

Field Summary

Modifier and TypeField and Description
private static final int
private static final int
private static final int
private static final int
pack-priv static final boolean
private static final int
private static final int
private static final int
private static final int
private static final int
private static final Set<Class<?>>

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
private static native boolean
private static boolean
private static Set<Class<?>>
init()

private static boolean
private static boolean
pack-priv static StackStreamFactory.CallerClassFinder
makeCallerFinder(StackWalker walker)

Gets a stack stream to find caller class.

pack-priv static <T> StackStreamFactory.StackFrameTraverser<T>
makeStackTraverser(StackWalker walker, Function<? super Stream<StackWalker.StackFrame>, ? extends T> function)

private static int
toStackWalkMode(StackWalker walker, int mode)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait