# HG changeset patch # User Jaroslav Tulach # Date 1401994916 -7200 # Node ID 055a0f3766f57f861796bc7b666d7ced748519a8 # Parent 82773e03ff40a2d7140efc2c06bc149663c8a68d A bit of documentation diff -r 82773e03ff40 -r 055a0f3766f5 boot-script/src/main/java/net/java/html/boot/script/Scripts.java --- a/boot-script/src/main/java/net/java/html/boot/script/Scripts.java Thu Jun 05 20:27:54 2014 +0200 +++ b/boot-script/src/main/java/net/java/html/boot/script/Scripts.java Thu Jun 05 21:01:56 2014 +0200 @@ -44,10 +44,25 @@ import java.util.concurrent.Executor; import javax.script.ScriptEngine; +import net.java.html.boot.BrowserBuilder; +import net.java.html.js.JavaScriptBody; import org.apidesign.html.boot.spi.Fn.Presenter; /** Implementations of {@link Presenter}s that delegate - * to Java {@link ScriptEngine scripting} API. + * to Java {@link ScriptEngine scripting} API. Initialize your presenter + * like this: + * + *
+ * 
+ * {@link Runnable} run = ...; // your own init code
+ * {@link Presenter Fn.Presenter} p = Scripts.{@link Scripts#createPresenter()};
+ * BrowserBuilder.{@link BrowserBuilder#newBrowser(java.lang.Object...) newBrowser(p)}.
+ *      {@link BrowserBuilder#loadFinished(java.lang.Runnable) loadFinished(run)}.
+ *      {@link BrowserBuilder#showAndWait()};
+ * 
+ * + * and your runnable can make extensive use of {@link JavaScriptBody} directly or + * indirectly via APIs using {@link JavaScriptBody such annotation} themselves. * * @author Jaroslav Tulach */ @@ -69,8 +84,9 @@ return new ScriptPresenter(null); } - /** Simple implementation of {@link Presenter} that delegates - * to Java {@link ScriptEngine scripting} API. The presenter runs headless + /** Implementation of {@link Presenter} that delegates + * to Java {@link ScriptEngine scripting} API and can control execution + * thread. The presenter runs headless * without appropriate simulation of browser APIs. Its primary usefulness * is inside testing environments. The presenter implements {@link Executor} * interface, and passes all runnables from {@link Executor#execute(java.lang.Runnable)} diff -r 82773e03ff40 -r 055a0f3766f5 boot-script/src/main/java/net/java/html/boot/script/package.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/boot-script/src/main/java/net/java/html/boot/script/package.html Thu Jun 05 21:01:56 2014 +0200 @@ -0,0 +1,51 @@ + + +

+ {@link net.java.html.boot.script.Scripts Factories} headless + {@link net.java.html.boot.BrowserBuilder browser environment} + useful for testing. +

+ diff -r 82773e03ff40 -r 055a0f3766f5 boot/src/main/java/net/java/html/boot/BrowserBuilder.java --- a/boot/src/main/java/net/java/html/boot/BrowserBuilder.java Thu Jun 05 20:27:54 2014 +0200 +++ b/boot/src/main/java/net/java/html/boot/BrowserBuilder.java Thu Jun 05 21:01:56 2014 +0200 @@ -72,7 +72,7 @@ *
  * 
  * public static void main(String... args) {
- *     BrowserBuilder.{@link #newBrowser}.
+ *     BrowserBuilder.{@link #newBrowser newBrowser()}.
  *          {@link #loadClass(java.lang.Class) loadClass(YourMain.class)}.
  *          {@link #loadPage(java.lang.String) loadPage("index.html")}.
  *          {@link #invoke(java.lang.String, java.lang.String[]) invoke("initialized", args)}.
diff -r 82773e03ff40 -r 055a0f3766f5 pom.xml
--- a/pom.xml	Thu Jun 05 20:27:54 2014 +0200
+++ b/pom.xml	Thu Jun 05 21:01:56 2014 +0200
@@ -137,6 +137,10 @@
                     net.java.html.sound
                   
                   
+                    Testing and Headless API
+                    net.java.html.boot.script
+                  
+                  
                     Service Provider APIs (not commonly interesting)
                     org.apidesign.html.*