JPF 1.5.1
Class DefaultApplicationInitializer

  extended by
All Implemented Interfaces:

public class DefaultApplicationInitializer
extends java.lang.Object
implements ApplicationInitializer

Default implementation of the application initializer interface.

Supported configuration parameters:
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.
Regulates how to check plug-ins integrity when running JPF. Possible values: full, light, off. The default value is full.
Plug-ins location collector class, for details see PluginsCollector. Default is DefaultPluginsCollector.
Location of the file with plug-in identifiers that should be only accepted by this application initializer. This is optional parameter.
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.


Field Summary
protected static java.lang.String PARAM_APPLICATION_PLUGIN
protected static java.lang.String PARAM_INTEGRITY_CHECK_MODE
protected static java.lang.String PARAM_PLUGINS_BLACK_LIST
protected static java.lang.String PARAM_PLUGINS_COLLECTOR
protected static java.lang.String PARAM_PLUGINS_WHITE_LIST
Constructor Summary
Method Summary
 void configure(ExtendedProperties configuration)
          Configures this instance and application environment.
protected  java.util.Collection<PluginManager.PluginLocation> filterPluginLocations(PluginRegistry registry, java.util.Collection<PluginManager.PluginLocation> pluginLocations)
          This method may remove unwanted plug-in locations from the given list.
 Application initApplication(BootErrorHandler errorHandler, java.lang.String[] args)
          Initializes application.
protected  java.lang.String integrityCheckReport2str(IntegrityCheckReport report)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


protected static final java.lang.String PARAM_APPLICATION_PLUGIN
See Also:
Constant Field Values


protected static final java.lang.String PARAM_INTEGRITY_CHECK_MODE
See Also:
Constant Field Values


protected static final java.lang.String PARAM_PLUGINS_COLLECTOR
See Also:
Constant Field Values


protected static final java.lang.String PARAM_PLUGINS_WHITE_LIST
See Also:
Constant Field Values


protected static final java.lang.String PARAM_PLUGINS_BLACK_LIST
See Also:
Constant Field Values
Constructor Detail


public DefaultApplicationInitializer()
Method Detail


public void configure(ExtendedProperties configuration)
               throws java.lang.Exception
Configures this instance and application environment. The sequence is:

Specified by:
configure in interface ApplicationInitializer
configuration - application configuration data from file and System properties as defaults
java.lang.Exception - if any error has occurred during initializer configuring
See Also:


public Application initApplication(BootErrorHandler errorHandler,
                                   java.lang.String[] args)
                            throws java.lang.Exception
Initializes application. The sequence is:

Specified by:
initApplication in interface ApplicationInitializer
errorHandler - callback interface to report errors to the user, it is recommended to use this handler only for "non-fatal" errors and ask user via BootErrorHandler.handleError(String, Exception) or BootErrorHandler.handleError(String, if he wants to abort application boot process
args - command line arguments as they passed to program main method
initialized application instance or null if initializing failed
java.lang.Exception - if any error has occurred during application initializing
See Also:
ApplicationInitializer.initApplication( BootErrorHandler, String[])


protected java.lang.String integrityCheckReport2str(IntegrityCheckReport report)


protected java.util.Collection<PluginManager.PluginLocation> filterPluginLocations(PluginRegistry registry,
                                                                                   java.util.Collection<PluginManager.PluginLocation> pluginLocations)
                                                                            throws ManifestProcessingException
This method may remove unwanted plug-in locations from the given list. Standard implementation applies black/white lists logic.

registry - plug-in registry to process manifests
pluginLocations - collected plug-in locations to be filtered

JPF 1.5.1

Copyright © 2004-2007 Dmitry Olshansky. All Rights Reserved.