<!-- <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> todescribeyourgeneralAPIsandspecifytheir <ahref="http://openide.netbeans.org/tutorial/api-design.html#category-private"> stabilitycategories</a>. Ifpossiblepleaseprovidesimplediagrams. </hint> </question>
-->
<answer id="arch-overall">
<p>
<api name="Netigso"type="export" category="devel" group="java">
the heart of NetBeans integration with
OSGi with NetBeans module
system is contained in this module. This module locates the OSGi framework
implmentation and is then responsible for finding,
registering and starting OSGi bundles provided by the NetBeans module system.</api>
</p>
</answer>
<!-- <questionid="arch-time"when="init"> Whatarethetimeestimatesofthework? <hint> Pleaseexpressyourestimatesofhowlongthedesign,implementation, stabilizationarelikelytolast.Howmanypeoplewillbeneededto implementthisandwhatistheexpectedmilestonebywhichtheworkshouldbe ready? </hint> </question>
-->
<answer id="arch-time">
<p>
Will be released as part of NetBeans 6.9.
</p>
</answer>
<!-- <questionid="arch-usecases"when="init"> <hint> Contentofthisanswerwillbedisplayedaspartofpageat http://www.netbeans.org/download/dev/javadoc/usecases.html Youcanusetags<usecasename="name>regularhtmldescription</usecase> andifyouwanttouseanURLyoucanprefixifwith@TOP@tobegin attherootofyourjavadoc </hint> Describethemain<ahref="http://openide.netbeans.org/tutorial/api-design.html#usecase"> usecases</a>ofthenewAPI.Whowilluseitunder whatcircumstances?Whatkindofcodewouldtypicallyneedtobewritten tousethemodule? </question>
-->
<answer id="arch-usecases">
<usecase id="archive" name="Share NetBeans Resource Cache">The only supported usecase right now is to
allow any framework to obtain access to internal cache and load classes
from it. See <a href="@TOP@/org/netbeans/core/netigso/spi/NetigsoArchive.html">NetigsoArchive</a>.
</usecase>
</answer>
<!-- <questionid="arch-what"when="init"> Whatisthisprojectgoodfor? <hint> Pleaseprovidehereafewlinesdescribingtheproject, whatproblemitshouldsolve,providelinkstodocumentation, specifications,etc. </hint> </question>
-->
<answer id="arch-what">
<p>
XXX no answer for arch-what
</p>
</answer>
<!-- <questionid="exec-privateaccess"when="final"> Areyouawareofanyotherpartsofthesystemcallingsomeof yourmethodsbyreflection? <hint> Ifso,describethe"contract"asanAPI.Likelyprivateorfriendone,but stillAPIandconsiderrewriteofit. </hint> </question>
-->
<answer id="exec-privateaccess">
<p>
XXX no answer for exec-privateaccess
</p>
</answer>
<!-- <questionid="exec-process"when="impl"> Doyouexecuteanexternalprocessfromyourmodule?Howdoyouensure thattheresultisthesameondifferentplatforms?Doyouparseoutput? Doyoudependonresultcode? <hint> Ifyoufeedaninput,parsetheoutputpleasedeclarethatasanAPI. </hint> </question>
-->
<answer id="exec-process">
<p>
<api name="netigso.archive" group="property" category="devel" type="export">
Inside of your <code>FrameworkFactory</code> you can use
<code>map.get("netigso.archive")</code> to get instance of
<a href="@TOP@/org/netbeans/core/netigso/spi/NetigsoArchive.html">NetigsoArchive</a>.
</api>
</p>
<p>
<api name="netigso-bundles" group="java.io.File" category="friend"type="export">
<p>
List of registered OSGi bundles as well as mapping of their packages
to individual bundles is stored in <code>var/cache/netigso-bundles</code>.
This file works in orchestration with content of <code>var/cache/netigso</code>
directory where the OSGi framework usually stores its own information
about bundles.
</p>
<p>
The content of the cache file is <em>private</em>, but the location
is well known (including its relation with <code>netigso</code> directory),
so <a href="@org-netbeans-bootstrap@/architecture-summary.html#java.io.File-installation.cache">
the installer</a> can store necessary data and speed first start of
the application up.
</p>
</api>
</p>
</answer>
<!-- <questionid="exec-property"when="impl"> Isexecutionofyourcodeinfluencedbyanyenvironmentor Javasystem(<code>System.getProperty</code>)property? Onasimilarnote,istheresomethinginterestingthatyou passto<code>java.util.logging.Logger</code>?Ordoyouobserve whatotherslog? <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="Netigso-Export-Package" category="stable" group="property"type="export">
If a NetBeans module's manifest contains tag <code>Netigso-Export-Package</code>,
then it is used as a value of <code>Export-Package</code> OSGi tag, when
re-exporting the module as OSGi bundle.
</api>
<api category="devel" group="branding" name="org.netbeans.core.netigso.FRAMEWORK_START_LEVEL" type="export">
One can influence the initial OSGi framework start level by rebranding
the <code>FRAMEWORK_START_LEVEL</code> key in <code>org/netbeans/core/netigso/Bundle.properties</code>.
By default the key is empty, which means no change to default OSGi start level of <code>1</code>.
</api>
<api category="devel" group="branding" name="org.netbeans.core.netigso.MODULE_START_LEVEL" type="export">
The meaning of enabled module (a NetBeans terminology) and started bundle
(an OSGi terminology) is not the same. Although in general we recommend
to start all bundles that are marked as enabled, you may want to configure
this. To do so, you can use various start levels
and re-brand <code>MODULE_START_LEVEL</code> key in
<code>org/netbeans/core/netigso/Bundle.properties</code> to specify the
start level of modules that are supposed to be started.
Only modules with lower or equal start level than value of this
key will be started.
</api>
<api category="devel" group="branding" name="org.netbeans.core.netigso.DEFAULT_BUNDLE_START_LEVEL" type="export">
Bundles that don't provide own start level (via config/Modules/*.xml files),
get no start level by default in the NetBeans Platform,
however that can be changed by branding the <code>DEFAULT_BUNDLE_START_LEVEL</code> key in
<code>org/netbeans/core/netigso/Bundle.properties</code>. NetBeans IDE
brands it to 4.
</api>
<api category="devel" group="branding" name="org.netbeans.core.netigso.FIND_COVERED_PKGS" type="export">
The <b>FIND_COVERED_PKGS</b> branding key defines method to find list of covered packages
for an OSGi bundle. Currently it can be empty or <b>findEntries</b>, which
means Netigso will use <code>bundle.findEntries("", null, true)</code>. As that method
resolves the bundle, it may not always be appropriate. In such case brand
this token to empty string and only "Export-Package" values will be used.
Since version 1.23 there is also a chance to set the token to <b>exportedIfPresent</b>
which will use the value of "Export-Package" tag when it is present, but
when there is none, <code>bundle.findEntries("", null, true)</code> will be
used.
</api>
<api category="devel" group="systemproperty" name="felix_org.osgi.framework"type="export">
<code>System.getProperties()</code> that start with prefix <code>felix.</code>
or <code>org.osgi.framework.</code> are read on initialization of the
Netigso system and injected into configuration of OSGi container
before it starts.
</api>
</p>
</answer>
<!-- <questionid="exec-reflection"when="impl"> DoesyourcodeuseJavaReflectiontoexecuteothercode? <hint> ThisusuallyindicatesamissingorinsufficientAPIintheother partofthesystem.Iftheothersideisnotawareofyourdependency thiscontractcanbeeasilybroken. </hint> </question>
-->
<answer id="exec-reflection">
<p>
XXX no answer for exec-reflection
</p>
</answer>
<!--
<question id=perf-tartup" when="final">
Does your module run any code on startup?
</question>
-->
<answer id="perf-startup">
<p>
XXX no answer for perf-startup
</p>
</answer>
<!--
<question id="perf-wakeup" when="final">
Does any piece of your code wake up periodically and do something
even when the system is otherwise idle (no user interaction)?
</question>
-->
<answer id="perf-wakeup">
<p>
XXX no answer for perf-wakeup
</p>
</answer>
<!--
<question id="resources-file" when="final">
Does your module use <code>java.io.File</code> directly?
<hint>
NetBeans provide a logical wrapper over plain files called
<code>org.openide.filesystems.FileObject</code> that
provides uniform access to such resources and is the preferred
way that should be used. But of course there can be situations when
this is not suitable.
</hint>
</question>
-->
<answer id="resources-file">
<p>
XXX no answer for resources-file
</p>
</answer>
<!--
<question id="resources-layer" when="final">
Does your module provide own layer? Does it create any files or
folders in it? What it is trying to communicate by that and with which
components?
<hint>
NetBeans allows automatic and declarative installation of resources
by module layers. Module register files into appropriate places
and other components use that information to perform their task
(build menu, toolbar, window layout, list of templates, set of
options, etc.).
</hint>
</question>
-->
<answer id="resources-layer">
<p>
XXX no answer for resources-layer
</p>
</answer>
<!--
<question id="resources-mask" when="final">
Does your module mask/hide/override any resources provided by other modules in
their layers?
<hint>
If you mask a file provided by another module, you probably depend
on that and do not want the other module to (for example) change
the file's name. That module shall thus make that file available as an API
of some stability category.
</hint>
</question>
-->
<answer id="resources-mask">
<p>
XXX no answer for resources-mask
</p>
</answer>
<!--
<question id="resources-preferences" when="final">
Does your module uses preferences via Preferences API? Does your module use NbPreferences or
or regular JDK Preferences ? Does it read, write or both ?
Does it share preferences with other modules ? If so, then why ?
<hint>
You may use
<api type="export" group="preferences"
name="preference node name" category="private">
description of individual keys, where it is used, what it
influences, whether the module reads/write it, etc.
</api>
Due to XML ID restrictions, rather than /org/netbeans/modules/foo give the "name" as org.netbeans.modules.foo.
Note that if you use NbPreferences this name will then be the same as the code name base of the module.
</hint>
</question>
-->
<answer id="resources-preferences">
<p>
XXX no answer for resources-preferences
</p>
</answer>
<!--
<question id="resources-read" when="final">
Does your module read any resources from layers? For what purpose?
<hint>
As this is some kind of intermodule dependency, it is a kind of API.
Please describe it and classify according to
<a href="http://openide.netbeans.org/tutorial/api-design.html#categories">
common stability categories</a>.
</hint>
</question>
-->
<answer id="resources-read">
<p>
XXX no answer for resources-read
</p>
</answer>
<!--
<question id="security-grant" when="final">
Does your code grant additional rights to some other code?
<hint>Avoid using a class loader that adds extra
permissions to loaded code unless really necessary.
Also note that your API implementation
can also expose unneeded permissions to enemy code by
calling AccessController.doPrivileged().</hint>
</question>
-->
<answer id="security-grant">
<p>
XXX no answer for security-grant
</p>
</answer>
<!--
<question id="security-policy" when="final">
Does your functionality require modifications to the standard policy file?
<hint>Your code might pass control to third-party code not
coming from trusted domains. This could be code downloaded over the
network or code coming from libraries that are not bundled
with NetBeans. Which permissions need to be granted to which domains?</hint>
</question>
-->
<answer id="security-policy">
<p>
XXX no answer for security-policy
</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.