View Javadoc

1   package org.apache.commons.javaflow;
2   
3   import org.apache.commons.javaflow.bytecode.StackRecorder;
4   
5   /**
6    * This exception is used to signal
7    * a control flow change that needs
8    * the cooperation inside {@link StackRecorder}.
9    *
10   * <p>
11   * This class is only for javaflow internal code.
12   *
13   * @author Kohsuke Kawaguchi
14   */
15  public final class ContinuationDeath extends Error {
16      final String mode;
17  
18      public ContinuationDeath(String mode) {
19          this.mode = mode;
20      }
21  
22      /**
23       * Signals that the continuation wants to exit the execution.
24       */
25      static final String MODE_EXIT = "exit";
26      /**
27       * Signals that the execution should restart immediately
28       * from where it resumed.
29       */
30      static final String MODE_AGAIN = "again";
31      /**
32       * Signals that the exeuction should suspend,
33       * by using the original continuation.
34       */
35      static final String MODE_CANCEL = "cancel";
36  }