public abstract class Runner
extends java.lang.Object
Runner
class provides methods that interact with the
runner. It is used by the runner, debugger, profiler, and code coach.Constructor and Description |
---|
Runner() |
Modifier and Type | Method and Description |
---|---|
abstract void |
addLifecycleListener(RunProcessLifecycleListener listener) |
abstract void |
addRunConfigurationLaunchNavigable(Navigable navigable) |
abstract void |
addRunConfigurationToolNavigable(Navigable navigable) |
abstract void |
addTerminateMenu(RunProcess runProcess)
Adds a terminate menu item for the given RunProcess to
the Run -> Terminate submenu.
|
abstract boolean |
couldNodeBeRunnable(Node node)
Returns true if there is a StarterFactory registered for the class
of the given node.
|
abstract boolean |
couldNodeBeRunnable(Node node,
java.lang.Class starterFactorySubClass)
Returns true if there is a StarterFactory registered for the class
of the given node and the StarterFactory is an instanceof the
specified subclass.
|
abstract boolean |
enableRunDebugActions(Context context,
java.lang.Class starterFactorySubClass)
This method is used by the run and debug systems in order to set
the enable/disable state of the run and debug actions.
|
abstract java.lang.Class[] |
getClassesWithRegisteredStarterFactory()
Deprecated.
This method should not be used. It forces the loading of
classes, and potentially extensions, that might never be used
|
abstract RunProcess[] |
getContainedRunProcesses(RunProcess parent) |
abstract java.util.List<RunProcessLifecycleListener> |
getLifecycleListeners(Context context) |
abstract javax.swing.event.EventListenerList |
getListeners(Context context)
Deprecated.
Use getLifecycleListeners() instead
|
abstract Folder |
getProcessesFolder()
Returns the folder within the run manager that contains active processes.
|
abstract Navigable |
getProjectSettingsRunnerNavigable()
Deprecated.
|
abstract AbstractStarterFactory[] |
getRegisteredStarterFactories(java.lang.Class targetClass)
Deprecated.
Use getRegisteredStarterFactories(Node targetNode, Class starterFactoryClass)
instead. A target Node is much more useful than a target Class since this enables the
Runner to better select the correct StarterFactories
|
abstract AbstractStarterFactory[] |
getRegisteredStarterFactories(java.lang.Class targetClass,
java.lang.Class starterFactorySubClass)
Deprecated.
Use getRegisteredStarterFactories(Node targetNode, Class starterFactoryClass)
instead. A target Node is much more useful than a target Class since this enables the
Runner to better select the correct StarterFactories
|
abstract AbstractStarterFactory[] |
getRegisteredStarterFactories(Project project,
Node targetNode,
java.lang.Class starterFactoryClass)
Returns an array of StarterFactories that have been registered for the
class of the Node (exactly), and that are instanceof the specified StarterFactory class.
|
abstract Navigable[] |
getRunConfigurationLaunchNavigables(Project project) |
abstract Navigable[] |
getRunConfigurationMacroNavigables(Project project) |
abstract Navigable[] |
getRunConfigurationToolNavigables(Project project) |
abstract Folder |
getRunManagerFolder()
Returns the Run Manager Folder
|
abstract NavigatorWindow |
getRunManagerWindow()
Returns the Run Manager Window
|
abstract javax.swing.JMenu |
getRunMenu()
Returns the run menu that the Run Manager has added to the main
menu bar.
|
static Runner |
getRunner()
Returns the Runner instance that is active in the IDE.
|
abstract RunnerOptions |
getRunnerOptions() |
abstract RunProcess[] |
getRunProcesses()
Returns the folder within the run manager that contains active processes.
|
abstract AbstractStarterFactory[] |
getStarterFactoriesForTarget(java.lang.Class targetClass)
Deprecated.
Use getStarterFactoriesForTarget(Node targetNode, Class starterFactoryClass)
instead. A target Node is much more useful than a target Class since this enables the
Runner to better select the correct StarterFactories
|
abstract AbstractStarterFactory[] |
getStarterFactoriesForTarget(java.lang.Class targetClass,
java.lang.Class starterFactorySubClass)
Deprecated.
Use getStarterFactoriesForTarget(Node targetNode, Class starterFactoryClass)
instead. A target Node is much more useful than a target Class since this enables the
Runner to better select the correct StarterFactories
|
abstract AbstractStarterFactory[] |
getStarterFactoriesForTarget(Project project,
Node targetNode,
java.lang.Class starterFactoryClass)
Returns an array of StarterFactories that have been registered for the
class of the Node or one of its super classes, and that are instanceof
the specified StarterFactory class.
|
abstract IdeAction |
getViewRunManagerAction()
Return the action for View | Run Manager.
|
abstract boolean |
isRunManagerVisible()
Returns true if the run manager is visible
|
abstract boolean |
isRunning(Project project)
This methods checks if any application in the specified
project are running. |
abstract boolean |
isShuttingDown() |
abstract void |
registerStarterFactory(java.lang.Class targetClass,
StarterFactory starterFactory)
Registers the specified StarterFactory as a
StarterFactory that can create a Starter
that may start processes with the specified type of target.
|
abstract void |
removeLifecycleListener(RunProcessLifecycleListener listener) |
abstract void |
removeTerminateMenu(RunProcess runProcess)
Removes the terminate menu item for the given RunProcess
from the Run -> Terminate submenu.
|
abstract boolean |
selectProcess(RunProcess runProcess)
Selects the given process in the Run Manager window.
|
abstract void |
setProjectSettingsRunnerNavigable(Navigable navigable)
Deprecated.
|
static void |
setRunner(Runner runner)
Publishes the specified Runner as the active instance in the IDE.
|
abstract boolean |
terminate(Project project,
boolean force)
This methods requests the runner to terminate all processe running
under the specified
project . |
abstract void |
unregisterStarterFactory(java.lang.Class targetClass,
StarterFactory starterFactory)
Unregisters the specified StarterFactory for the
specified type of target.
|
abstract void |
viewRunManager()
Shows the Run Manager window.
|
public static Runner getRunner()
public static void setRunner(Runner runner)
public abstract boolean isRunning(Project project)
project
are running. If the project
parameter is null, the method checks if any application under
any project is running.public abstract boolean terminate(Project project, boolean force)
project
. If the project
parameter is null, the method tries to terminate all running processes.
If the force
parameter is false, the user is asked to
confirm termination of any running process.public abstract javax.swing.JMenu getRunMenu()
public abstract NavigatorWindow getRunManagerWindow()
public abstract Folder getRunManagerFolder()
public abstract Folder getProcessesFolder()
public abstract RunProcess[] getRunProcesses()
public abstract void viewRunManager()
public abstract boolean isRunManagerVisible()
public abstract IdeAction getViewRunManagerAction()
public abstract boolean selectProcess(RunProcess runProcess)
runProcess
- the process to be selected.public abstract void addTerminateMenu(RunProcess runProcess)
runProcess
- the RunProcess that needs a terminate menupublic abstract void removeTerminateMenu(RunProcess runProcess)
runProcess
- the RunProcess that has a terminate menu that
should be removedpublic abstract void registerStarterFactory(java.lang.Class targetClass, StarterFactory starterFactory)
For example, if the targetClass param specifies JavaNode, then the starterFactory param should be able to create a Starter that may be able to start some processes where the target is a JavaNode.
A StarterFactory or its corresponding Starter may refuse to start a process at any time for any reason. For example, the StarterFactory associated with the Starter that starts Java applications would be registered with the target class JavaNode, but would refuse to start a process if the target class did not contain a "main" method.
More than one starter factory can be registered for the same target class. For example, the StarterFactory corresponding to the Starter that starts Java applications and the StarterFactory corresponding to the Starter that starts Java servlets would both be registered for the target class JavaNode. The last StarterFactory registered for a given class has first chance.
Also, one starter factory can be registered for more than one target class. For example, it may make sense to have one StarterFactory and corresponding Starter that starts both Java servlets and JSP pages. That single StarterFactory would be registered for the target classes JavaNode and JspSourceNode. To register a starter factory in an extension.xml file:
<trigger-hooks xmlns="http://xmlns.oracle.com/ide/extension">
<triggers trigger-id="Register My StarterFactory">
<runner-hook xmlns="http://xmlns.oracle.com/ide/extension/runner">
<starter-factory class="oracle.jdevimpl.runner.MyStarterFactory"
target-class="oracle.jdeveloper.runner.MyNode" />
</runner-hook>
</triggers>
</trigger-hooks>
targetClass
- the class of the target elementstarterFactory
- the starterFactory to registerpublic abstract void unregisterStarterFactory(java.lang.Class targetClass, StarterFactory starterFactory)
A new StarterFactory that wants to obscure, modify, or extend the behavior of an existing StarterFactory may unregister the existing StarterFactory.
targetClass
- the class of the target elementstarterFactory
- the starterFactory to unregister@Deprecated public abstract java.lang.Class[] getClassesWithRegisteredStarterFactory()
@Deprecated public abstract AbstractStarterFactory[] getRegisteredStarterFactories(java.lang.Class targetClass)
targetClass
- the class of the target element@Deprecated public abstract AbstractStarterFactory[] getRegisteredStarterFactories(java.lang.Class targetClass, java.lang.Class starterFactorySubClass)
targetClass
- the class of the target elementstarterFactorySubClass
- a subclass of StarterFactorypublic abstract AbstractStarterFactory[] getRegisteredStarterFactories(Project project, Node targetNode, java.lang.Class starterFactoryClass)
project
- The project of the targetNodetargetNode
- The Node that needs to be startedstarterFactoryClass
- The class that can start the Node; this is normally
StarterFactory.class, but certain Nodes can demand a more specialized StarterFactory@Deprecated public abstract AbstractStarterFactory[] getStarterFactoriesForTarget(java.lang.Class targetClass)
targetClass
- the class of the target element@Deprecated public abstract AbstractStarterFactory[] getStarterFactoriesForTarget(java.lang.Class targetClass, java.lang.Class starterFactorySubClass)
targetClass
- the class of the target elementstarterFactorySubClass
- a subclass of StarterFactorypublic abstract AbstractStarterFactory[] getStarterFactoriesForTarget(Project project, Node targetNode, java.lang.Class starterFactoryClass)
project
- The project of the targetNodetargetNode
- The Node that needs to be startedstarterFactoryClass
- The class that can start the Node; this is normally
StarterFactory.class, but certain Nodes can demand a more specialized StarterFactorypublic abstract boolean couldNodeBeRunnable(Node node)
public abstract boolean couldNodeBeRunnable(Node node, java.lang.Class starterFactorySubClass)
starterFactorySubClass
- a subclass of StarterFactorypublic abstract boolean enableRunDebugActions(Context context, java.lang.Class starterFactorySubClass)
Returns true if there is a StarterFactory registered for the class of the document in the given context, the registered StarterFactory is an instanceof the specified subclass and either of the following conditions are met:
starterFactorySubClass
- a subclass of StarterFactory@Deprecated public abstract Navigable getProjectSettingsRunnerNavigable()
@Deprecated public abstract void setProjectSettingsRunnerNavigable(Navigable navigable)
public abstract void addRunConfigurationLaunchNavigable(Navigable navigable)
public abstract Navigable[] getRunConfigurationLaunchNavigables(Project project)
public abstract void addRunConfigurationToolNavigable(Navigable navigable)
public abstract Navigable[] getRunConfigurationToolNavigables(Project project)
public abstract Navigable[] getRunConfigurationMacroNavigables(Project project)
public abstract RunProcess[] getContainedRunProcesses(RunProcess parent)
public abstract boolean isShuttingDown()
public abstract void addLifecycleListener(RunProcessLifecycleListener listener)
public abstract void removeLifecycleListener(RunProcessLifecycleListener listener)
public abstract java.util.List<RunProcessLifecycleListener> getLifecycleListeners(Context context)
@Deprecated public abstract javax.swing.event.EventListenerList getListeners(Context context)
public abstract RunnerOptions getRunnerOptions()