NetBeansCore
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.
Use Cases
No special APIs exported beyond few friend contracts:
Exported Interfaces
This table lists all of the module exported APIs
with
defined stability classifications. It is generated
based on answers to questions about the architecture
of the module.
Read them all...
Group of java interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
NetBeansCore | Exported | Friend |
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.AutomaticDependencies | Exported | Friend |
.../org/openide/modules/doc-files/api.html
|
org.netbeans.core.WindowSystem | Exported | Friend | |
NbKeymap.context | Exported | Friend |
.../src/org/netbeans/core/NbKeymap.java
The context field is accessed from editor module by reflection
from MultiKeymap.
|
uihandler-hooks | Exported | Friend |
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 Handler s 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 Name | In/Out | Stability | Specified in What Document? |
org.netbeans.core.actions.OptionsAction.additionalActionName | Exported | Private |
Creates button with given string in bottom left corner of Options Dialog.
|
org.netbeans.core.actions.OptionsAction.additionalActionListener | Exported | Private |
Given ActionListener is notified when custom button is pressed.
|
org.netbeans.core.actions.OptionsAction.optionsDialogTitle | Exported | Private |
Allows to redefine default title of Options Dialog.
|
ErrorNotification | Exported | Private |
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 Name | In/Out | Stability | Specified in What Document? |
USE_Authentication | Exported | Under 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
|
StaticNonProxyHosts | Exported | Under 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 .
|
org.netbeans.core.TimableEventQueue.install | Exported | Friend |
By default NetBeans based applications install their own EventQueue .
One can suppress that since version 3.27 of org.netbeans.core module
by branding key TimableEventQueue.install in
org/netbeans/core/Bundle to false .
|
|
Group of systemproperty interfaces
Interface Name | In/Out | Stability | Specified in What Document? |
netbeans.hack.50423 | Exported | Private |
.../netbeans/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.exit | Exported | Friend |
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.
|
org.netbeans.core.TimeableEventQueue | Exported | Private |
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 Name | In/Out | Stability | Specified in What Document? |
Keymaps | Exported | Under 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.
|
Shortcuts | Exported | Under 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 Name | In/Out | Stability | Specified in What Document? |
org.netbeans.core | Exported | Friend |
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 |
|
|
Implementation Details
Where are the sources for the module?
The sources for the module are in the
Apache Git repositories
or in the GitHub repositories.
What do other modules need to do to declare a dependency on this one, in addition to or instead of a plain module dependency?
Nothing.
Read more about the implementation in the answers to
architecture questions.