public final class Scripts extends Object
Fn.Presenter
s that delegate
to Java scripting
API. Initialize your presenter
like this:
and your runnable can make extensive use ofRunnable
run = ...; // your own init codeFn.Presenter
p = Scripts.Scripts.createPresenter()
; BrowserBuilder.newBrowser(p)
.loadFinished(run)
.BrowserBuilder.showAndWait()
;
JavaScriptBody
directly or
indirectly via APIs using such annotation
themselves.
Alternatively one can manipulate the presenter manually, which is especially useful when writing tests:
The previous code snippet requires Java 7 language syntax, as it relies on try-with-resources language syntactic sugar feature. The same block of code can be used on older versions of Java, but it is slightly more verbose.@Test
public void runInASimulatedBrowser() throws Exception {Fn.Presenter
p = Scripts.Scripts.createPresenter()
; try (Closeable
c =Fn.activate
(p)) { // your code operating in context of p } }
Modifier and Type | Method and Description |
---|---|
static Fn.Presenter |
createPresenter()
Simple implementation of
Fn.Presenter that delegates
to Java scripting API. |
static Fn.Presenter |
createPresenter(Executor exc)
Implementation of
Fn.Presenter that delegates
to Java scripting API and can control execution
thread. |
public static Fn.Presenter createPresenter()
Fn.Presenter
that delegates
to Java scripting
API. The presenter runs headless
without appropriate simulation of browser APIs. Its primary usefulness
is inside testing environments. The presenter implements Executor
interface, but invokes all runnables passed to Executor.execute(java.lang.Runnable)
immediately.ScriptEngine
for text/javascript
mimetypepublic static Fn.Presenter createPresenter(Executor exc)
Fn.Presenter
that delegates
to Java 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 Executor
interface, and passes all runnables from Executor.execute(java.lang.Runnable)
to here in provided exc
instance.exc
- the executor to re-schedule all asynchronous requests toScriptEngine
for text/javascript
mimetypeCopyright © 2018 NetBeans. All rights reserved.