Skip navigation links

Introduction

This document lists changes made to the Execution API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.openide.execution > 1.20

Changes by affected class

org.openide.cookies.ArgumentsCookie

org.openide.cookies.ExecCookie

org.openide.execution.ExecInfo

org.openide.actions.ExecuteAction

org.openide.execution.ExecutionEngine

org.openide.loaders.ExecutionSupport

org.openide.execution.Executor

org.openide.execution.ExecutorType

org.openide.execution.NbClassLoader

org.openide.execution.NbfsStreamHandlerFactory

org.openide.execution.NbfsURLConnection

org.openide.execution.ProcessExecutor

org.openide.execution.ThreadExecutor


Details of all changes by API and date


Execution API

NbClassLoader(FileObject[], ...) does not throw FileStateInvalidException

Jan 20 '12; API spec. version: 1.26; affected top-level classes: NbClassLoader; made by: jglick; issues: #207294

NbClassLoader(FileObject[], ClassLoader, InputOutput) does not throw FileStateInvalidException any more.


Compatibility:

No NbClassLoader constructor throws FileStateInvalidException any longer, which can cause some existing source code to not compile.


Binary-compatible

No need to require ExecutionEngine token anymore

Jul 19 '06; API spec. version: 1.10; affected top-level classes: ExecutionEngine; made by: jtulach; issues: #34699

If your module depends on org.openide.execution > 1.9 or higher there is no need to specify that it also requires an implementation of the API by use of OpenIDE-Module-Requires: org.openide.execution.ExecutionEngine, this token will be requested automatically by the org.openide.execution module itself.

Execution of Startup folder removed

Mar 16 '04; API spec. version: 1.2; made by: jglick

Previously it was possible to place objects with an ExecCookie into the Startup folder of the system filesystem, and they would be run during startup.

In NetBeans 4.0 there is no such cookie any more, and that old style of execution is no longer supported. Modules may continue to use ModuleInstall.restored for startup hooks, possibly providing special modes for user customization, but there is no generic infrastructure for this.


Compatibility:

There is no direct equivalent in NetBeans 4.0.

NbClassLoader constructors deprecated

Mar 16 '04; API spec. version: 1.2; affected top-level classes: NbClassLoader; made by: jglick

All of the existing constructors of NbClassLoader were deprecated since they used Filesystems to refer to the classpath; one new classpath-safe constructor was added instead.

For similar reasons, a number of static methods in the class were deprecated as well.


Compatibility:

Old constructors continue to behave as before but that behavior is unlikely to be useful in NetBeans 4.0.

Execution API split into deprecated and nondeprecated halves

Mar 16 '04; API spec. version: 1.2; affected top-level classes: org.openide.actions.ExecuteAction org.openide.cookies.ArgumentsCookie org.openide.cookies.ExecCookie org.openide.execution.ExecInfo org.openide.execution.Executor org.openide.execution.ExecutorType org.openide.execution.NbfsStreamHandlerFactory org.openide.execution.NbfsURLConnection org.openide.execution.ProcessExecutor org.openide.execution.ThreadExecutor org.openide.loaders.ExecutionSupport; made by: jglick

As part of the NetBeans 4.0 build system, the Execution API was split into two halves. The first half continues to be used as before. The second half is now deprecated and lives in a separate module.


Compatibility:

New code must declare which of the two modules (or both) it wishes to compile against and use.


Binary-compatible