Example usage for org.apache.commons.javaflow.api Continuation again

List of usage examples for org.apache.commons.javaflow.api Continuation again

Introduction

In this page you can find the example usage for org.apache.commons.javaflow.api Continuation again.

Prototype

public static void again() 

Source Link

Document

Jumps to where the execution was resumed.

Usage

From source file:org.apache.commons.javaflow.examples.again.Execution.java

@Override
public @continuable void run() {
    final Random rnd = new SecureRandom();
    try {/*from  ww w. j  ava 2s.  co m*/
        Continuation.suspend();
        // LOOP_START
        System.out.println("resumed");

        int r = rnd.nextInt(5);
        if (r != 0) {
            System.out.println("do it again, r=" + r);
            Continuation.again(); // like "GOTO LOOP_START", first statement after closest suspend()
        }

        System.out.println("done");
    } finally {
        // This will be called only once
        System.out.println("Finally is called");
    }
}