<!-- <questionid="arch-overall"when="init"> Describetheoverallarchitecture. <hint> WhatwillbeAPIfor <ahref="http://openide.netbeans.org/tutorial/api-design.html#design.apiandspi"> clientsandwhatsupportAPI</a>? Whatpartswillbepluggable? Howwillplug-insberegistered?Pleaseuse<code><apitype="export"/></code> todescribeyourgeneralAPIs. Ifpossiblepleaseprovide simplediagrams. </hint> </question>
-->
<answer id="arch-overall">
<p>
<api name="NetBeansCore" category="friend" group="java"type="export">
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.
</api>
</p>
</answer>
<!-- <questionid="compat-version"when="impl"> Canyourmodulecoexistwithearlierandfuture versionsofitself?Canyoucorrectlyreadalloldsettings?Willfuture versionsbeabletoreadyourcurrentsettings?Canyouread orpolitelyignoresettingsstoredbyafutureversion? <hint> Veryhelpfulforreadingsettingsistostoreversionnumber there,sofutureversionscandecidewhetherhowtoread/convert thesettingsandolderversionscanignorethenewones. </hint> </question>
-->
<answer id="compat-version">
<p>
Only one core can be present in running NetBeans based application.
</p>
</answer>
<!-- <questionid="dep-jre"when="final"> WhichversionofJREdoyouneed(1.2,1.3,1.4,etc.)? <hint> Itisexpectedthatifyourmodulerunson1.xthatitwillrun on1.x+1ifno,statethatplease.Alsodescribeherecaseswhere yourundifferentcodeondifferentversionsofJREandwhy. </hint> </question>
-->
<answer id="dep-jre">
<p>
XXX no answer for dep-jre
</p>
</answer>
<!-- <questionid="dep-jrejdk"when="final"> DoyourequiretheJDKoristheJREenough? </question>
-->
<answer id="dep-jrejdk">
<p>
XXX no answer for dep-jrejdk
</p>
</answer>
<!-- <questionid="dep-nb"when="init"> WhatotherNetBeansprojectsandmodulesdoesthisonedependon? <hint> Ifyouwant,describesuchprojectsasimportedAPIsusing the<code><apiname="identification"type="importorexport"category="stable"url="whereisthedescription"/></code> </hint> </question>
-->
<answer id="dep-nb">
<p>
XXX no answer for dep-nb
</p>
</answer>
<!-- <questionid="exec-classloader"when="impl"> Doesyourcodecreateitsownclassloader(s)? <hint> Abitunusual.Pleaseexplainwhyandwhatfor. </hint> </question>
-->
<answer id="exec-classloader">
<p>
XXX no answer for exec-classloader
</p>
</answer>
<!-- <questionid="exec-component"when="impl"> Isexecutionofyourcodeinfluencedbyany(string)property ofanyofyourcomponents? <hint> Often<code>JComponent.getClientProperty</code>,<code>Action.getValue</code> or<code>PropertyDescriptor.getValue</code>,etc.areusedtoinfluence abehaviorofsomecode.Thisofcourseformsaninterfacethatshould bedocumented.Alsoifonedependsonsomeinterfacethatanobject implements(<code>componentinstanceofRunnable</code>)thatformsan APIaswell. </hint> </question>
-->
<answer id="exec-component">
<p>
Yes.
<api name='org.netbeans.core.actions.OptionsAction.additionalActionName'
category='private' type='export'
group='property'>
Creates button with given string in bottom left corner of Options Dialog.
</api>
<api name='org.netbeans.core.actions.OptionsAction.additionalActionListener'
category='private' type='export'
group='property'>
Given ActionListener is notified when custom button is pressed.
</api>
<api name='org.netbeans.core.actions.OptionsAction.optionsDialogTitle'
category='private' type='export'
group='property'>
Allows to redefine default title of Options Dialog.
</api>
<api name='USE_Authentication'
category='devel' type='export'
group='branding'>
One can use branding to disable installation of NetBeans own
<code> java.net.Authenticator</code>. Just brand
<code>org.netbeans.core.Bundle</code>
to say <code>USE_Authentication=false</code>
</api>
<api name='StaticNonProxyHosts'
category='devel' type='export'
group='branding'>
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
<code>org.netbeans.core.Bundle</code>
specify something else than <code>StaticNonProxyHosts=localhost|127.0.0.1</code>.
</api>
</p>
</answer>
<!-- <questionid="exec-privateaccess"when="final"> Areyouawareofanyotherpartsofthesystemcallingsomeof yourmethodsbyreflection? <hint> Ifso,describethe"contract"asanAPI.Likelyprivateorfriendone,but stillAPIandconsiderrewriteofit. </hint> </question>
-->
<answer id="exec-privateaccess">
<p>
<api type="export" name="NbKeymap.context" category="friend" group="java" url="https://github.com/apache/netbeans/tree/master/platform/o.n.core/src/org/netbeans/core/NbKeymap.java">
The <code>context</code> field is accessed from editor module by reflection
from <a href="@org-netbeans-modules-editor-lib@/org/netbeans/editor/MultiKeymap.html">MultiKeymap</a>.
</api>
<api type="import" name="SelfProfileAction" category="friend" group="java">
The module expects profiler to provide <code>SelfProfileAction</code>
and interacts with it as described in
<code>profiler/test/unit/src/org/netbeans/modules/profiler/actions/SelfSamplerActionTest.java</code>
test.
</api>
</p>
</answer>
<!-- <questionid="exec-process"when="impl"> Doyouexecuteanexternalprocessfromyourmodule?Howdoyouensure thattheresultisthesameondifferentplatforms?Doyouparseoutput? Doyoudependonresultcode? <hint> Ifyoufeedaninput,parsetheoutputpleasedeclarethatasanAPI. </hint> </question>
-->
<answer id="exec-process">
<p>
XXX no answer for exec-process
</p>
</answer>
<!-- <questionid="exec-property"when="impl"> Isexecutionofyourcodeinfluencedbyanyenvironmentor Javasystem(<code>System.getProperty</code>)property? <hint> Ifthereisapropertythatcanchangethebehaviorofyour code,somebodywilllikelyuseit.Youshoulddescribewhatitdoes andthe<ahref="http://openide.netbeans.org/tutorial/api-design.html#life">stabilitycategory</a> ofthisAPI.Youmayuse <pre> <apitype="export"group="property"name="id"category="private"url="http://..."> descriptionoftheproperty,whereitisused,whatitinfluence,etc. </api> </pre> </hint> </question>
-->
<answer id="exec-property">
<p>
<api name="ErrorNotification" category="private" group="property"type="export">
<p>
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.
</p>
<ul>
<li>The status bar notification shows a small icon starts flashing
at the rightmost part of the main status bar when an
exception occurs</li>
<li>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.
</li>
<li>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.
</li>
<li>When another exception is encountered while the icon is
already flashing or visible, the flashing timer and the hide
icon timer will restart. </li>
<li>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.</li>
<li>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.</li>
<li>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.</li>
</ul>
</api>
<api name="netbeans.hack.50423" category="private" group="systemproperty"type="export"url="https://bz.apache.org/netbeans/show_bug.cgi?id=50423">
Set this property to <q>true</q> to workaround the bug #50423 which
appears on some linuxes on JDK 1.5.
</api>
<api name="netbeans.close.no.exit" category="friend" group="systemproperty"type="export">
Set this property to <q>true</q> if you do want to cleanup the module system,
but not call System.exit at the end. Used from <code>NbModuleSuite</code> from
nbjunit library.
</api>
</p>
<api name="java.net.useSystemProxies" category="private" group="systemproperty"type="import">
Get this property to determine when use JDK's <code>java.net.ProxySelector</code> or core's
implementation of <code>ProxySelector</code>.
</api>
<api name="org.netbeans.core.TimableEventQueue.install" category="friend" group="branding"type="export">
By default NetBeans based applications install their own <code>EventQueue</code>.
One can suppress that since version3.27 of <code>org.netbeans.core</code> module
by branding key <code>TimableEventQueue.install</code> in
<code>org/netbeans/core/Bundle</code> to <code>false</code>.
</api>
</answer>
<!-- <questionid="exec-reflection"when="impl"> DoesyourcodeuseJavaReflectiontoexecuteothercode? <hint> ThisusuallyindicatesamissingorinsufficientAPIintheother partofthesystem.Iftheothersideisnotawareofyourdependency thiscontractcanbeeasilybroken. </hint> </question>
-->
<answer id="exec-reflection">
<p>
<api name="uihandler-hooks" category="friend" group="java"type="export">
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 <code>Handler</code>s of
<code>Logger.getLogger("")</code> implements <code>Callable<JButton></code>
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.
</api>
</p>
</answer>
<!-- <questionid="lookup-register"when="final"> Doyouregisteranythingintolookupforothercodetofind? <hint> Doyouregisterusinglayerfileorusing<code>META-INF/services</code>? Whoissupposedtofindyourcomponent? </hint> </question>
-->
<answer id="lookup-register">
<p>
The core module registers an implementation of <code>org.netbeans.core.StatusLineElementProvider</code> interface,
it allows to display in the status line a notification about thrown exception.
It's registered by <code>META-INF/services</code>.
</p>
</answer>
<!-- <questionid="lookup-remove"when="final"> Doyouremoveentriesofothermodulesfromlookup? <hint> Why?Ofcourse,thatispossible,butitcanbedangerous.Isthemodule youraremaskingresourcefromawareofwhatyouaredoing? </hint> </question>
-->
<answer id="lookup-remove">
<p>
XXX no answer for lookup-remove
</p>
</answer>
<!-- <questionid="perf-exit"when="final"> Doesyourmodulerunanycodeonexit? </question>
-->
<answer id="perf-exit">
<p>
XXX no answer for perf-exit
</p>
</answer>
<!-- <questionid="perf-huge_dialogs"when="final"> Doesyourmodulecontainanydialogsorwizardswithalargenumberof GUIcontrolssuchascomboboxes,lists,trees,ortextareas? </question>
-->
<answer id="perf-huge_dialogs">
<p>
XXX no answer for perf-huge_dialogs
</p>
</answer>
<!-- <questionid="perf-limit"when="init"> Arethereanyhard-codedorpracticallimitsinthenumberorsizeof elementsyourcodecanhandle? </question>
-->
<answer id="perf-limit">
<p>
XXX no answer for perf-limit
</p>
</answer>
<!-- <questionid="perf-mem"when="final"> Howmuchmemorydoesyourcomponentconsume?Estimate witharelationtothenumberofwindows,etc. </question>
-->
<answer id="perf-mem">
<p>
XXX no answer for perf-mem
</p>
</answer>
<!-- <questionid="perf-progress"when="final"> Doesyourmoduleexecuteanylong-runningtasks? <hint>Longrunningtasksshouldneverblock AWTthreadasitbadlyhurtstheUI <ahref="http://performance.netbeans.org/responsiveness/issues.html"> responsiveness</a>. Taskslikeconnectingover network,computinghugeamountofdata,compilation bedoneasynchronously(forexample using<code>RequestProcessor</code>),definitivelyitshould notblockAWTthread. </hint> </question>
-->
<answer id="perf-progress">
<p>
<api name="org.netbeans.core.TimeableEventQueue" category="private" group="systemproperty"type="export">
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):
<ul>
<li><code>org.netbeans.core.TimeableEventQueue.quantum=xyz</code> - for how long the event queue must be blocked to start the self-sampler (by default 100ms),</li>
<li><code>org.netbeans.core.TimeableEventQueue.report=xyz</code> - total time of blocked event queue to report a problem (by default 3s),</li>
<li><code>org.netbeans.core.TimeableEventQueue.waitcursor=xyz</code> - time for which a problem is not reported if mouse wait cursor is in place (by default 15s),</li>
<li><code>org.netbeans.core.TimeableEventQueue.pause=xyz</code> - time after reporting a problem for which the detection is disabled (by default 15s).</li>
</ul>
In production builds the default time limits are different (10s to start sampler, 20s to report a problem).
</api>
</p>
</answer>
<!-- <questionid="resources-layer"when="final"> Doesyourmoduleprovideownlayer?Doesitcreateanyfilesor foldersinit?Whatitistryingtocommunicatebythatandwithwhich components? <hint> NetBeansallowsautomaticanddeclarativeinstallationofresources bymodulelayers.Moduleregisterfilesintoappropriateplaces andothercomponentsusethatinformationtoperformtheirtask (buildmenu,toolbar,windowlayout,listoftemplates,setof options,etc.). </hint> </question>
-->
<answer id="resources-layer">
<p>
<api name="Keymaps" group="layer"type="export" category="devel">
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.
</api>
<api name="Shortcuts" group="layer"type="export" category="devel">
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.
</api>
</p>
</answer>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.