Class DefaultApplicationInitializer

java.lang.Object
org.java.plugin.boot.DefaultApplicationInitializer
All Implemented Interfaces:
ApplicationInitializer

public class DefaultApplicationInitializer extends Object implements ApplicationInitializer
Default implementation of the application initializer interface.

Supported configuration parameters:

org.java.plugin.boot.applicationPlugin
ID of plug-in to start. There is no default value for this parameter. In common scenario, this is the only parameter that you must provide.
org.java.plugin.boot.integrityCheckMode
Regulates how to check plug-ins integrity when running JPF. Possible values: full, light, off. The default value is full.
org.java.plugin.boot.pluginsCollector
Plug-ins location collector class, for details see PluginsCollector. Default is DefaultPluginsCollector.
org.java.plugin.boot.pluginsWhiteList
Location of the file with plug-in identifiers that should be only accepted by this application initializer. This is optional parameter.
org.java.plugin.boot.pluginsBlackList
Location of the file with plug-in identifiers that should not be accepted by this application initializer. This is optional parameter.
Note that all given configuration parameters are passed to ObjectFactory.newInstance(ExtendedProperties) when running JPF (see bellow). This allows you to configure JPF precisely.

Black and white lists of plug-ins

In some situations you may want to temporary exclude some of your plug-ins from the application scope. This may be achieved with help of while and black lists - simple plain text files that contain lists of plug-in identifiers to be included/excluded from the application. Each identifies should be in separate line. You may provide unique plug-in ID also.

What is application plug-in?

When application starts, the Boot.main(String[]) method executed calling initApplication(BootErrorHandler, String[]) to get initialized instance of Application (or ServiceApplication) class. The method initApplication(BootErrorHandler, String[]) in this implementation scans plug-in repositories to collect all available plug-in files and folders (using special class that can be customized), instantiates JPF and publishes all discovered plug-ins. After that it asks PluginManager for an Application Plug-in with ID provided as configuration parameter. Returned class instance is expected to be of type ApplicationPlugin and it's method ApplicationPlugin.initApplication(ExtendedProperties, String[]) called.

To the mentioned initApplication method passed a subset of configuration properties whose names start with application plug-in ID followed with dot character '.' (see ExtendedProperties.getSubset(String) for details).

As a result of the described procedure, the Boot get instance of Application interface, so it can start application calling Application.startApplication() method.

Version:
$Id$