org.apache.commons.javaflow.bytecode
Class StackRecorder

java.lang.Object
  extended by org.apache.commons.javaflow.bytecode.Stack
      extended by org.apache.commons.javaflow.bytecode.StackRecorder
All Implemented Interfaces:
java.io.Serializable

public final class StackRecorder
extends Stack

Adds additional behaviors necessary for stack capture/restore on top of Stack.

Author:
Kohsuke Kawaguchi
See Also:
Serialized Form

Field Summary
 boolean isCapturing
          True, is the continuation freeze the strack trace, and stops the continuation.
 boolean isRestoring
          True, if the continuation restores the previous stack trace to the last invocation of suspend().
 
Fields inherited from class org.apache.commons.javaflow.bytecode.Stack
runnable
 
Constructor Summary
StackRecorder(java.lang.Runnable pTarget)
          Creates a new empty StackRecorder that runs the given target.
StackRecorder(Stack pParent)
          Creates a clone of the given StackRecorder.
 
Method Summary
 StackRecorder execute(java.lang.Object context)
           
static StackRecorder get()
          Return the continuation, which is associated to the current thread.
 java.lang.Object getContext()
           
static void suspend()
           
 
Methods inherited from class org.apache.commons.javaflow.bytecode.Stack
hasDouble, hasFloat, hasInt, hasLong, hasObject, hasReference, isEmpty, isSerializable, popDouble, popFloat, popInt, popLong, popObject, popReference, pushDouble, pushFloat, pushInt, pushLong, pushObject, pushReference, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

isRestoring

public transient boolean isRestoring
True, if the continuation restores the previous stack trace to the last invocation of suspend().

This field is accessed from the byte code injected into application code, and therefore defining a wrapper get method makes it awkward to step through the user code. That's why this field is public.


isCapturing

public transient boolean isCapturing
True, is the continuation freeze the strack trace, and stops the continuation.

See Also:
isRestoring
Constructor Detail

StackRecorder

public StackRecorder(java.lang.Runnable pTarget)
Creates a new empty StackRecorder that runs the given target.


StackRecorder

public StackRecorder(Stack pParent)
Creates a clone of the given StackRecorder.

Method Detail

suspend

public static void suspend()

execute

public StackRecorder execute(java.lang.Object context)

getContext

public java.lang.Object getContext()

get

public static StackRecorder get()
Return the continuation, which is associated to the current thread.



Copyright 2004-2008 The Apache Software Foundation. All Rights Reserved.