NetBeans Architecture Answers for Core module


Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
NetBeansCoreExportedFriend

The heart of NetBeans. It contains basic implementation of all necessary interfaces, takes care of the startup sequence and the whole lifecycle of any NetBeans based application.

org.netbeans.core.modules.AutomaticDependenciesExportedFriend .../org/openide/modules/doc-files/api.html

org.netbeans.core.WindowSystemExportedFriend
ExceptionAnnotatableUsingLogRecordsImportedFriend

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

org.netbeans.core.startupImportedPrivate

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

Keyring-APIImportedOfficial

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

SamplerAPIImportedUnder Development

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

PlafAPIImportedFriend

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

ActionsAPIImportedOfficial

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

org.openide.awtImportedOfficial

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

DialogsAPIImportedOfficial

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

ExplorerAPIImportedOfficial

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

FilesystemsAPIImportedOfficial

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

InputOutputAPIImportedOfficial

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

LoadersAPIImportedOfficial

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

ModulesAPIImportedOfficial

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

NodesAPIImportedOfficial

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

UtilitiesAPIImportedOfficial

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

WeakListener.setAccessibleImportedUnder Development

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

LookupAPIImportedOfficial

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

WindowSystemAPIImportedOfficial

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

NbKeymap.contextExportedFriend .../src/org/netbeans/core/NbKeymap.html

The context field is accessed from editor module by reflection from MultiKeymap.

SelfProfileActionImportedFriend

The module expects profiler to provide SelfProfileAction and interacts with it as described in profiler/test/unit/src/org/netbeans/modules/profiler/actions/SelfSamplerActionTest.java test.

uihandler-hooksExportedFriend

This module exports an API that allows the UI Gestures Collector module to plug and enhance the behaviour of exception dialog by own buttons. The behaviour is like this: If any of Handlers of Logger.getLogger("") implements Callable<JButton> then such button is going to be inserted to the exception dialog and can react and change the behaviour of that dialog. Such a button is going to be a "closing" one - e.g. the dialog will close as soon as the button is pressed.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.core.actions.OptionsAction.additionalActionNameExportedPrivate

Creates button with given string in bottom left corner of Options Dialog.

org.netbeans.core.actions.OptionsAction.additionalActionListenerExportedPrivate

Given ActionListener is notified when custom button is pressed.

org.netbeans.core.actions.OptionsAction.optionsDialogTitleExportedPrivate

Allows to redefine default title of Options Dialog.

ErrorNotificationExportedPrivate

Enabling assertions (either global -ea or for class org.netbeans.core.NotifyException only) changes the default error notification behavior. When assertions are enabled an error window pops up each time an error is encountered. Otherwise a small icon start flashing in the main status bar and clicking the icon then brings up the error dialog.

  • The status bar notification shows a small icon starts flashing at the rightmost part of the main status bar when an exception occurs
  • The icon is flashing for 5 seconds, then it stays visible for another 30 seconds. Positioning the mouse pointer over the icon changes the default mouse cursor to 'hand' and stops the flashing. Icon's tooltip provides the exception message or the exception class name when no message is available. Single-clicking the icon brings up the exception dialog and the icon disappers. The exception dialog shows all exceptions encountered since the icon started flashing. When the exception dialog is closed via the Ok button, the exception list is cleared.
  • The exception dialog window 'remembers' (per IDE session) the status of the 'Show Details' flag. So when the dialog is displayed again, the last user's settings are reused.
  • When another exception is encountered while the icon is already flashing or visible, the flashing timer and the hide icon timer will restart.
  • When another exception is encountered while the exception dialog is visible, the exception message is displayed in the current dialog and the icon does not appear.
  • There's no tooltip nor any indication on status bar when the icon is not visible. Only a part of status bar area is reserved for the icon.
  • It is possible to switch the status bar notification off, e.g. for beta releases, by enabling assertions in JVM (-ea). Then each exception shows the exception dialog.

Group of branding interfaces
Interface NameIn/OutStabilitySpecified in What Document?
USE_AuthenticationExportedUnder Development

One can use branding to disable installation of NetBeans own java.net.Authenticator. Just brand org.netbeans.core.Bundle to say USE_Authentication=false

StaticNonProxyHostsExportedUnder Development

Some applications may want to proxy connections to localhost (which by default uses direct connection in NetBeans Platform). One can change the default by branding org.netbeans.core.Bundle specify something else than StaticNonProxyHosts=localhost|127.0.0.1.

TimableEventQueue.installExportedFriend

By default NetBeans based applications install their own EventQueue. One can suppress that since versiong 3.27 of org.netbeans.core module by branding key TimableEventQueue.install in org/netbeans/core/Bundle to false.

Group of systemproperty interfaces
Interface NameIn/OutStabilitySpecified in What Document?
netbeans.hack.50423ExportedPrivate .../issues/show_bug.cgi?id=50423

Set this property to true to workaround the bug #50423 which appears on some linuxes on JDK 1.5.

netbeans.close.no.exitExportedFriend

Set this property to true if you do want to cleanup the module system, but not call System.exit at the end. Used from NbModuleSuite from nbjunit library.

java.net.useSystemProxiesImportedPrivate

Get this property to determine when use JDK's java.net.ProxySelector or core's implementation of ProxySelector.

org.netbeans.core.TimeableEventQueueExportedPrivate

This module contains a hook to identify long running tasks inside the AWT dispatch thread. It observers the AWT event queue and if a task takes longer than expected, it invokes a sampler that creates a profiling snapshot of the IDE until the task returns back to the event queue. Time limits can be configured via system properties (in milliseconds):
  • org.netbeans.core.TimeableEventQueue.quantum=xyz - for how long the event queue must be blocked to start the self-sampler (by default 100ms),
  • org.netbeans.core.TimeableEventQueue.report=xyz - total time of blocked event queue to report a problem (by default 3s),
  • org.netbeans.core.TimeableEventQueue.waitcursor=xyz - time for which a problem is not reported if mouse wait cursor is in place (by default 15s),
  • org.netbeans.core.TimeableEventQueue.pause=xyz - time after reporting a problem for which the detection is disabled (by default 15s).
In production builds the default time limits are different (10s to start sampler, 20s to report a problem).

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
KeymapsExportedUnder Development

Keymaps folder contains subfolders for individual keymaps (Emacs, JBuilder, NetBeans). The name of keymap can be localized. Use "SystemFileSystem.localizingBundle" attribute of your folder for this purpose. Individual keymap folder contains shadows to actions. Shortcut is mapped to the name of file. Emacs shortcut format is used, multikeys are separated by space chars ("C-X P" means Ctrl+X followed by P). "currentKeymap" property of "Keymaps" folder contains original (not localized) name of current keymap.

ShortcutsExportedUnder Development

This folder contains registration of shortcuts. Its supported for backward compatibility purpose only. All new shortcuts should be registerred in "Keymaps/NetBeans" folder. Shortcuts installed ins Shortcuts folder will be added to all keymaps, if there is no conflict. It means that if the same shortcut is mapped to different actions in Shortcut folder and current keymap folder (like Keymap/NetBeans), the Shortcuts folder mapping will be ignored.

Group of preferences interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.coreExportedFriend

key description read write
proxyHttpHost Host name of HTTP Proxy Y Y
proxyHttpPort Port of HTTP Proxy Y Y
proxyHttpsHost Host name of HTTPS Proxy Y Y
proxyHttpsPort Port of HTTPS Proxy Y Y
proxySocksHost Host name of Socks server Y Y
proxySocksPort Port of Socks server Y Y
proxyNonProxyHosts Ignore host list Y Y
proxyType Type of Proxy Setting (DIRECT_CONNECTION, AUTO_DETECT_PROXY, MANUAL_SET_PROXY Y Y
useProxyAuthentication Proxy Server requires user authentication Y Y
proxyAuthenticationUsername Username for authentication on Proxy Server Y Y
proxyAuthenticationUsername Password for authentication on Proxy Server Y Y


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


Built on December 17 2017.  |  Portions Copyright 1997-2017 Oracle. All rights reserved.