1.1 --- a/boot-script/src/main/java/net/java/html/boot/script/Scripts.java Thu Jun 05 20:27:54 2014 +0200
1.2 +++ b/boot-script/src/main/java/net/java/html/boot/script/Scripts.java Thu Jun 05 21:01:56 2014 +0200
1.3 @@ -44,10 +44,25 @@
1.4
1.5 import java.util.concurrent.Executor;
1.6 import javax.script.ScriptEngine;
1.7 +import net.java.html.boot.BrowserBuilder;
1.8 +import net.java.html.js.JavaScriptBody;
1.9 import org.apidesign.html.boot.spi.Fn.Presenter;
1.10
1.11 /** Implementations of {@link Presenter}s that delegate
1.12 - * to Java {@link ScriptEngine scripting} API.
1.13 + * to Java {@link ScriptEngine scripting} API. Initialize your presenter
1.14 + * like this:
1.15 + *
1.16 + * <pre>
1.17 + *
1.18 + * {@link Runnable} <em>run</em> = ...; // your own init code
1.19 + * {@link Presenter Fn.Presenter} <em>p</em> = Scripts.{@link Scripts#createPresenter()};
1.20 + * BrowserBuilder.{@link BrowserBuilder#newBrowser(java.lang.Object...) newBrowser(<em>p</em>)}.
1.21 + * {@link BrowserBuilder#loadFinished(java.lang.Runnable) loadFinished(run)}.
1.22 + * {@link BrowserBuilder#showAndWait()};
1.23 + * </pre>
1.24 + *
1.25 + * and your runnable can make extensive use of {@link JavaScriptBody} directly or
1.26 + * indirectly via APIs using {@link JavaScriptBody such annotation} themselves.
1.27 *
1.28 * @author Jaroslav Tulach
1.29 */
1.30 @@ -69,8 +84,9 @@
1.31 return new ScriptPresenter(null);
1.32 }
1.33
1.34 - /** Simple implementation of {@link Presenter} that delegates
1.35 - * to Java {@link ScriptEngine scripting} API. The presenter runs headless
1.36 + /** Implementation of {@link Presenter} that delegates
1.37 + * to Java {@link ScriptEngine scripting} API and can control execution
1.38 + * thread. The presenter runs headless
1.39 * without appropriate simulation of browser APIs. Its primary usefulness
1.40 * is inside testing environments. The presenter implements {@link Executor}
1.41 * interface, and passes all runnables from {@link Executor#execute(java.lang.Runnable)}