org.netbeans.bootstrap/1 2.22

Bootstrap
Friend, Private or Third Party

See:
          Description

Bootstrap
org.netbeans  

 

XXX no answer for arch-overall

What is New (see all changes)?

Use Cases

XXX no answer for arch-usecases

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 NameIn/OutStabilitySpecified in What Document?
ExceptionAnnotatableUsingLogRecordsExportedFriend

To support classification of exceptions and also annotation of exceptions with logging levels and additional localized messages, logged exceptions and their initCause's are searched for implementation of Callable<LogRecord[]>. If an exception implements this interface, the call() method is called and returned LogRecords then scanned for messages, levels, etc.

Group of java.io.File interfaces
Interface NameIn/OutStabilitySpecified in What Document?
nbexecExportedStable ...//platform.netbeans.org/articles/installation.html

lock-fileExportedPrivate

The lock file ${netbeans.user}/lock will have file permissions changed to go-rwx for safety on Unix systems (requires presence of chmod)

nbexec.exeExportedStable ...//platform.netbeans.org/articles/installation.html

ClassPath-CompositionExportedPrivate

Bootstrap code creates a class loader to load the rest of the core from. The bootstrap code is loaded from the Java application class loader, using the classpath lib/*.jar.

Dynamic-ClassPath-CompositionExportedFriend

After creating bootstrap classpath another low level set of JARs is loaded with a new classloader from core/*.jar directories in each clusters.

imported-markerExportedFriend

${netbeans.user}/var/imported is used to identify whether a userdir has already been updated or it still needs an update. Can be created by installer if no update check should be performed, no other code is supposed to realy on this file.

license-check-marker-fileExportedFriend

${netbeans.user}/var/license_accepted and ${nbcluster.dir}/var/license_accepted are used to identify whether user accepted license.

.lastModifiedExportedUnder Development

To speedup testing that module caches are up-to-date, the system recognizes special file inside of each cluster. If .lastModified file is present in a cluster, then the content of the cluster is not scanned any more deeply and instead the time stamp of the file is used as last modification for the whole content of the cluster.

This API is primarily intended for use by installer and RPM packagers and also autoupdate, that are supposed to create such file, as soon as they finish modifications to any cluster.

This file is ignored when accessing user directory, as it is expected that user can modify it, while the user usually does not have access permision or need to modify the shared installation clusters.

cached.lastModifiedExportedPrivate

If the .lastModified file is not present in cluster directory, it is recomputed on startup and stored in $userdir/var/cache/lastModified/$clustername. This file and its content is meant just for private consumption of the IDE.

all-resources.datExportedUnder Development

To speedup class loading during startup, the system keeps a cache of resources needed during startup in var/cache/all-resources.dat. If the cache is valid, it is loaded during startup and class and resource loading requests are redirected there.

The file is binary and shouldn't be modified by other code than org.netbeans.Archive. The file content uses magic header and versioning to allow evolution of its (private) format.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
java.util.logging.Level.1973ExportedDeprecated

LogRecords sent to registered logger may be marked as those intended for user. This can be done by logging with level which has intValue() == 1973. Localized message of such log records is then shown in a special dialog. This behaviour is supported for backward compatibility, but in fact it is deprecated. The preferred way is to directly show dialog using DialogDisplayer.

netbeans.exception.alert.min.levelExportedUnder Development

Minimum integer level that triggers the blinking icon signaling an exceptional state. By default 900 - e.g. WARNING.

netbeans.exception.report.min.levelExportedUnder Development

Minimum integer level that triggers the dialog with exception. By default 900 with assertions on and 1001 without them.

netbeans.mainclassExportedFriend

Main Java class for bootstrap code to start (currently org.netbeans.core.startup.Main). Might be used by alternate launchers.

NetBeans-IDE-DevExportedPrivate

The registry key Software\netbeans.org\NetBeans IDE\Dev Default user directory, unless --userdir is given. The name of this registry key is brandable, as is its default value. [Windows only]

netbeans.homeExportedUnder Development

NetBeans installation directory (where the launcher is).

netbeans.userExportedUnder Development

NetBeans user directory.

netbeans.dirsExportedFriend

Additional secondary NetBeans installation directories, if
applicable.

netbeans.system_http_proxyExportedUnder Development

System proxy setting in the format of hostname:port. The launcher does its best to detect the OS/desktop HTTP proxy setting. There is no guarantee that it succeeds. The property may not be set at all or its value may be totally wrong.

netbeans.system_http_non_proxy_hostsExportedUnder Development

List of addresses that are not accessed through proxy. The launcher attempts to detect the OS/desktop HTTP proxy setting. There is no guarantee that it succeeds. The property may not be set at all or its value may be totally wrong and its format is not defined.

netbeans.classpathExportedFriend

Classpath to prepend to core loader (normally just lib/*.jar). Possibly useful for testing infrastructure etc.

netbeans.importclassExportedFriend

There is a special support for importing the settings from previous versions. As only the product itself knows about what to import and where this cannot be done directly in the launcher, but we need at a well defined moment (user directory is missing and no modules have been initialized yet) to call the product to ask the user and do the actual copy of userdir.

After all core/*.jar files has been initialized and the user dir has not yet been updated (see bellow) the launcher checks for value of netbeans.importclass system property and if provided it loads that class and invokes its main method (in AWT thread) and if no exception is thrown it marks the userdir as already upgraded.

netbeans.accept_license_classExportedFriend

Before first usage of IDE user must accept license. If user does not install IDE by installer (user must accept license during installation) user must accept license during IDE first start.

Launcher calls method showLicensePanel of netbeans.acceptlicenseclass if license was not yet accepted by user and it is necessary to show license in dialog to user.

netbeans.logger.consoleExportedFriend

Controls whether to log messages to the console, or just to the log file.

org.netbeans.CLIHandlerExportedPrivate

Setting this property to less than zero value enables logging of what is going on in the CLIHandler - e.g. in the code that locks user directory and handles processing of command line options. Use -J-Dorg.netbeans.CLIHandler=-1 to send the logging to System.err.

org.netbeans.core.systemfilesystem.customExportedFriend

Contains class name of a class that can serve as provider of the writable layer of the system file system. The class must be a subclass of org.openide.filesystems.FileSystem and have public default constructor. Morevoer the class denoted by the property must be on the classpath.

SplashOnByDefaultExportedUnder Development

can be true or false, allows some applications build on top of the platform to disable splash by default

Group of logger interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.ProxyClassLoaderExportedPrivate

This logger logs at WARNING level about accessing resources from the default package.

Group of cli interfaces
Interface NameIn/OutStabilitySpecified in What Document?
--jdkhomeExportedUnder Development

JDK (or perhaps JRE) installation directory.

--clustersExportedUnder Development

The list of clusters to intialize the system from. Is used to set the value of netbeans.dirs.

--userdirExportedUnder Development

User directory, if not the default.

-JWHATEVERExportedUnder Development

Pass option WHATEVER to the JVM.

--cpExportedUnder Development

-cp:a and -cp:p append and prepend to the startup classpath; deprecated except for special purposes such as installing a custom look & feel.

--uiExportedUnder Development

Specify a look & feel. The same as --laf. To make human life easier simple translation was added to convert L&F ID to L&F class name for known L&Fs.
  • Metal is translated to javax.swing.plaf.metal.MetalLookAndFeel
  • GTK is translated to com.sun.java.swing.plaf.gtk.GTKLookAndFeel
  • Nimbus is translated to com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
  • Windows is translated to com.sun.java.swing.plaf.windows.WindowsLookAndFeel
  • Aqua is translated to apple.laf.AquaLookAndFeel

--lafExportedUnder Development

Specify a look & feel. The same as --ui.

--bootclassExportedUnder Development

Alternative main class used to initialize the system.

--fontsizeExportedDeprecated

Specify base fontsize. Deprecated in favor of using
themes which is much more general. But this is a convenient quick settings, handy for projection screens and so on.

--localeExportedUnder Development

Specify system locale.

--brandingExportedUnder Development

Specify application branding.

--nologgingExportedPrivate

Do not write a log file.

--nosplashExportedFriend

Do not show the splash screen.

--noguiExportedFriend

Do not show any GUI at all.

--reloadExportedUnder Development

Reload a test module.

Group of lookup interfaces
Interface NameIn/OutStabilitySpecified in What Document?
lookup.org.netbeans.CLIHandlerExportedFriend

Instances of org.netbeans.CLIHandler are found using services lookup in the "dynamic classpath loader" (i.e. startup classpath plus ${netbeans.home}/core/*.jar).

org.netbeans.ModuleFactoryExportedFriend

Instances of org.netbeans.ModuleFactory are found using services lookup in the "dynamic classpath loader" (i.e. startup classpath plus ${netbeans.home}/core/*.jar). ModuleFactory can be used to create alternative module implementations.

CoreBridgeExportedPrivate

The communication between core.jar and rest of the platform code in org-netbeans-core.jar is handled thru handled thru CoreBridge calls.

RunLevelExportedFriend

Additional callbacks from core.jar after the module system is started are done using RunLevel interface. Currently it starts window system.

java.util.logging.HandlerExportedFriend

There is a communication bridge between the default logging handler registered by core/startup and the UI handler in core that presents certain log records in the UI.

Implementation Details

Where are the sources for the module?

The sources for the module are in the NetBeans Mercurial 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?

XXX no answer for deploy-dependencies

Read more about the implementation in the answers to architecture questions.


org.netbeans.bootstrap/1 2.22

Built on November 21 2009.  |  Portions Copyright 1997-2009 Sun Microsystems, Inc. All rights reserved.