|
|
|
The default answer to this question is:
These modules are required in project.xml:
The JavaHelp extension library (jh.jar) is included, currently at version 1.1.3.
Note that some versions of Solaris ship with their own copy of this library in the location /usr/j2se/opt/javahelp/lib/jhall.jar. Since this JAR is included in the extensions path of the JRE on such machines, it would override the copy of jh.jar shipped with the NetBeans integration module. Normally this would be tolerable, but unfortunately the version shipped with Solaris is outdated and exhibits a number of serious bugs, especially in the handling of Japanese search text, which make the NetBeans help system unusable and which were fixed in subsequent official JavaHelp releases. (Note that search databases for JavaHelp help sets are often not cleanly usable in versions of JavaHelp other than the one in which they were built, since details of how HTML substring indices are calculated tend to be unstable between even minor releases.) To avoid such bugs, the NetBeans launcher checks for the existence of the abovementioned file, and if found, prepends the NetBeans jh.jar to the JVM's boot classpath. Other options were considered and rejected as unworkable.
Question (deploy-nbm): Can you deploy an NBM via the Update Center? Answer: Yes. Question (deploy-shared): Do you need to be installed in the shared location only, or in the user directory only, or can your module be installed anywhere? Answer: Either. Question (deploy-packages): Are packages of your module made inaccessible by not declaring them public? Answer: Yes. Question (deploy-dependencies): What do other modules need to do to declare a dependency on this one, in addition to or instead of the normal module dependency declaration (e.g. tokens to require)? WARNING: Question with id="deploy-dependencies" has not been answered!java.io.File
directly?
Answer:
It uses InstalledFileLocator
to implement the
nbdocs
URL protocol, permitting help sets or files to be
loaded from disk files in the NetBeans installation, rather than from
inside the module. This is necessary to make it easy for users to
customize CSS stylesheets, for example.
Question (resources-layer):
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?
Answer:
The layer registers the Help
singleton, declares some XML
DTDs and their processors, installs some menu items, etc.
Question (resources-read):
Does your module read any resources from layers? For what purpose?
Answer:
Not directly. It uses lookup to find help sets, while providing an XML
processor to make this easier. It provides another XML processor
permitting modules to add menu items, but does not directly interpret
these.
Question (resources-mask):
Does your module mask/hide/override any resources provided by other modules in
their layers?
Answer:
No. However the usersguide
module does mask the master help
link menu item created by this module, replacing it with a similar one
which jumps straight to the introductory page of the main NetBeans online
help.
Question (resources-preferences):
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 ?
WARNING: Question with id="resources-preferences" has not been answered!org.openide.util.Lookup
or any similar technology to find any components to communicate with? Which ones?
Answer:
It searches for instances of javax.help.HelpSet
in lookup,
according to the API specification.
Question (lookup-register):
Do you register anything into lookup for other code to find?
Answer:
A singleton instance of org.netbeans.api.javahelp.Help
is
registered into lookup, according to the API specification. Modules may
depend on its existence by requiring a token of the same name. An
instance of a handler for the nbdocs
URL protocol (covered
in the specification) is also registered.
Question (lookup-remove):
Do you remove entries of other modules from lookup?
Answer:
No.
System.getProperty
) property?
On a similar note, is there something interesting that you
pass to java.util.logging.Logger
? Or do you observe
what others log?
Answer:
No.
Question (exec-component):
Is execution of your code influenced by any (string) property
of any of your components?
Answer:
OpenIDE/mergeIntoMaster
can be set as an attribute on a help set
provided programmatically rather than with an XML file to
customize one attribute. Such programmatic provision is rare
but supported.
instanceof
,
work with java.lang.Class
, etc.)?
Answer:
No.
Question (exec-threading):
What threading models, if any, does your module adhere to? How the
project behaves with respect to threading?
WARNING: Question with id="exec-threading" has not been answered!
Question (security-policy):
Does your functionality require modifications to the standard policy file?
WARNING: Question with id="security-policy" has not been answered!
Question (security-grant):
Does your code grant additional rights to some other code?
WARNING: Question with id="security-grant" has not been answered!java.awt.datatransfer.Transferable
?
Answer:
N/A