diff -r ed48023d1d85 -r bafc670aa10d launcher/src/main/java/org/apidesign/bck2brwsr/launcher/MethodInvocation.java --- a/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/MethodInvocation.java Sun Dec 23 17:02:34 2012 +0100 +++ b/launcher/src/main/java/org/apidesign/bck2brwsr/launcher/MethodInvocation.java Sun Dec 23 18:24:18 2012 +0100 @@ -17,20 +17,34 @@ */ package org.apidesign.bck2brwsr.launcher; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + /** * * @author Jaroslav Tulach */ public final class MethodInvocation { + final CountDownLatch wait = new CountDownLatch(1); final String className; final String methodName; - String result; - Exception exception; + private String result; + private Exception exception; MethodInvocation(String className, String methodName) { this.className = className; this.methodName = methodName; } + + void await(long timeOut) throws InterruptedException { + wait.await(timeOut, TimeUnit.MILLISECONDS); + } + + void result(String r, Exception e) { + this.result = r; + this.exception = e; + wait.countDown(); + } @Override public String toString() {