Class ExecutionEngine
java.lang.Object
org.openide.execution.ExecutionEngine
Engine providing the environment necessary to run long-lived processes.
May perform tasks such as setting up thread groups, etc.
Modules should not implement this class.
Note for implementors: it is highly advised that the value Lookup#getDefault
is saved,
and established in the forked thread before the executed Runnable
is called. This is
done by OpenIDE libraries If the ExecutionEngine implementation uses RequestProcessor
for
planning the tasks.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract NbClassPath
Deprecated.There are generally no excuses to be using this method as part of a normal module; its exact meaning is vague, and probably not what you want.protected abstract PermissionCollection
createPermissions
(CodeSource cs, org.openide.windows.InputOutput io) Users that want to link their classes with NetBeans module classes should do this through internal execution.abstract ExecutorTask
Run some task in the execution engine.static ExecutionEngine
Obtains default instance of the execution engine.
-
Constructor Details
-
ExecutionEngine
public ExecutionEngine()
-
-
Method Details
-
execute
Run some task in the execution engine.- Parameters:
name
- a name of the new processrun
- a runnable to executeio
- an I/O handle to automatically redirect system I/O streams in the dynamic scope of the task to, or InputOutput.NULL if no such redirection is required- Returns:
- an executor task that can control the execution
-
createPermissions
protected abstract PermissionCollection createPermissions(CodeSource cs, org.openide.windows.InputOutput io) Users that want to link their classes with NetBeans module classes should do this through internal execution. TheNbClassLoader
used in internal execution will assume that calling this method and giving the permission collection to the class being defined will trigger automatic redirection of system output, input, and error streams into the given I/O tab. Implementations of the engine should bind the tab and returned permissions. Since the permission collection is on the stack when calling methods onSystem.out
etc., it is possible to find the appropriate tab for redirection.- Parameters:
cs
- code source to construct the permission collection forio
- an I/O tab- Returns:
- a permission collection
-
createLibraryPath
Deprecated.There are generally no excuses to be using this method as part of a normal module; its exact meaning is vague, and probably not what you want.Method that allows implementor of the execution engine to provide class path to all libraries that one could find useful for development in the system.- Returns:
- class path to libraries
-
getDefault
Obtains default instance of the execution engine. If defaultLookup
contains an instance ofExecutionEngine
, that is used. Otherwise, a trivial basic implementation is returned with the following behavior:execute(java.lang.String, java.lang.Runnable, org.openide.windows.InputOutput)
just runs the runnable immediately and pretends to be done.createPermissions(java.security.CodeSource, org.openide.windows.InputOutput)
just usesAllPermission
. No I/O redirection orSystem.exit(int)
trapping is done.createLibraryPath()
produces an empty path.
- Returns:
- some execution engine implementation (never null)
- Since:
- 2.16
-