Skip navigation links

NetBeans Architecture Answers for Auto Update Services module


Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.spi.autoupdateExportedOfficialoverview-summary.html

org.netbeans.api.autoupdateExportedOfficialoverview-summary.html

org.netbeans.api.progressImportedOfficial .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 1.9 is required.

org.netbeans.bootstrapImportedFriend

The module is needed for compilation. The module is used during runtime. Specification version 2.6 is required.

org.netbeans.core.startupImportedFriend

The module is needed for compilation. The module is used during runtime. Specification version 1.9 is required.

org.openide.filesystemsImportedOfficial .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 7.0 is required.

org.openide.modulesImportedOfficial .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 7.2 is required.

org.openide.utilImportedOfficial .../org-openide-util/overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 7.5 is required.

org.openide.windowsImportedOfficial .../overview-summary.html

The module is needed for compilation. The module is used during runtime. Specification version 6.15 is required.

Group of dtd interfaces
Interface NameIn/OutStabilitySpecified in What Document?
catalog-dtdExportedStable .../doc-files/autoupdate-catalog-2_4.dtd

info-dtdExportedStable .../doc-files/autoupdate-info-2_4.dtd

Group of preferences interfaces
Interface NameIn/OutStabilitySpecified in What Document?
unique-idExportedStable
enable-update-providerExportedPrivate
last-check-of-providerExportedPrivate
unpack200ExportedStable

If bin/unpack200 executable isn't in the JDK executing the NetBeans application (as is the case since JDK14 and newer), the updater searches for a preference in NbPreferences.forModule(OperatorContainer.class).get("unpack200", null) which is usually located in a user directory in file config/Preferences/org/netbeans/modules/autoupdate/services.properties and if specified, it uses the alternative unpack200 to process legacy NBM files encoded that way.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
InitialTabExportedFriend

The associated module autoupdate.ui provides possibility to open plugin manager dialog (PluginManagerUI) with the specified tab. That is controlled by setting this string property to one of the following values:

  • update
  • available
  • local
  • installed

If property is not set (as default) then default tab is choosen due to the UI spec.

Proposed usage of API:
final FileObject fo = FileUtil.getConfigFile("Actions/System/org-netbeans-modules-autoupdate-ui-actions-PluginManagerAction.instance");
CallableSystemAction action = (CallableSystemAction) DataObject.find(fo).getCookie(InstanceCookie.class).instanceCreate();
action.putValue("InitialTab", "installed");
action.performAction();
            

Show-In-AutoUpdate-ClientExportedStable

Each module can control whether it shall be visible in a UI that presents updates, installed modules, etc. This can be done by defining OpenIDE-Module-Show-In-AutoUpdate-Client: false (or true) in its own manifest. This attribute shall take precedence over any default deduced by the UI (e.g. don't show autoload modules for example).

Group of systemproperty interfaces
Interface NameIn/OutStabilitySpecified in What Document?
plugin.manager.detail.view.selectedExportedPrivate

Setting this property affects the associated module autoupdate.ui. Setting it to true results in the detailed view (all visible plugins) been selected when Installed tab is opened in Plugin Manager. Otherwise the simple view (high-level features) is selected.

Group of java.io.File interfaces
Interface NameIn/OutStabilitySpecified in What Document?
.lastModifiedImportedUnder Development

Whenever updater touches a cluster, it creates .lastModified file in it and sets its timestamp to current time millis. This is an information for module system, so it knows to reset its caches.


General Information


Project and platform dependencies


Deployment


Compatibility with environment


Access to resources


Lookup of components


Execution Environment


Format of files and protocols


Performance and Scalability