org.mozilla.javascript.commonjs.module
Class RequireBuilder

java.lang.Object
  extended by org.mozilla.javascript.commonjs.module.RequireBuilder
All Implemented Interfaces:
java.io.Serializable

public class RequireBuilder
extends java.lang.Object
implements java.io.Serializable

A builder for Require instances. Useful when you're creating many instances of Require that are identical except for their top-level scope and current Context. Also useful if you prefer configuring it using named setters instead of passing many parameters in a constructor. Every setter returns "this", so you can easily chain their invocations for additional convenience.

Version:
$Id: RequireBuilder.java,v 1.4 2011/04/07 20:26:11 hannes%helma.at Exp $
Author:
Attila Szegedi
See Also:
Serialized Form

Constructor Summary
RequireBuilder()
           
 
Method Summary
 Require createRequire(Context cx, Scriptable globalScope)
          Creates a new require() function.
 RequireBuilder setModuleScriptProvider(ModuleScriptProvider moduleScriptProvider)
          Sets the ModuleScriptProvider for the Require instances that this builder builds.
 RequireBuilder setPostExec(Script postExec)
          Sets the script that should execute in every module's scope after the module's own script has executed.
 RequireBuilder setPreExec(Script preExec)
          Sets the script that should execute in every module's scope before the module's own script has executed.
 RequireBuilder setSandboxed(boolean sandboxed)
          Sets whether the created require() instances will be sandboxed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequireBuilder

public RequireBuilder()
Method Detail

setModuleScriptProvider

public RequireBuilder setModuleScriptProvider(ModuleScriptProvider moduleScriptProvider)
Sets the ModuleScriptProvider for the Require instances that this builder builds.

Parameters:
moduleScriptProvider - the module script provider for the Require instances that this builder builds.
Returns:
this, so you can chain ("fluidize") setter invocations

setPostExec

public RequireBuilder setPostExec(Script postExec)
Sets the script that should execute in every module's scope after the module's own script has executed.

Parameters:
postExec - the post-exec script.
Returns:
this, so you can chain ("fluidize") setter invocations

setPreExec

public RequireBuilder setPreExec(Script preExec)
Sets the script that should execute in every module's scope before the module's own script has executed.

Parameters:
preExec - the pre-exec script.
Returns:
this, so you can chain ("fluidize") setter invocations

setSandboxed

public RequireBuilder setSandboxed(boolean sandboxed)
Sets whether the created require() instances will be sandboxed. See Require.Require(Context, Scriptable, ModuleScriptProvider, Script, Script, boolean) for explanation.

Parameters:
sandboxed - true if the created require() instances will be sandboxed.
Returns:
this, so you can chain ("fluidize") setter invocations

createRequire

public Require createRequire(Context cx,
                             Scriptable globalScope)
Creates a new require() function. You are still responsible for invoking either Require.install(Scriptable) or Require.requireMain(Context, String) to effectively make it available to its JavaScript program.

Parameters:
cx - the current context
globalScope - the global scope containing the JS standard natives.
Returns:
a new Require instance.