org.pentaho.reporting.libraries.base.boot
Class AbstractModule

java.lang.Object
  extended by org.pentaho.reporting.libraries.base.boot.DefaultModuleInfo
      extended by org.pentaho.reporting.libraries.base.boot.AbstractModule
All Implemented Interfaces:
Module, ModuleInfo

public abstract class AbstractModule
extends DefaultModuleInfo
implements Module

The abstract module provides a default implementation of the module interface.

The module can be specified in an external property file. The file name of this specification defaults to "module.properties".

The first and mandatory section is always the module info and contains the basic module properties like name, version and a short description.

 module.name: xls-export-gui
 module.producer: The JFreeReport project - www.jfree.org/jfreereport
 module.description: A dialog component for the Excel table export.
 module.version.major: 0
 module.version.minor: 84
 module.version.patchlevel: 0
 
The properties name, producer and description are simple strings. They may span multiple lines, but may not contain a colon (':'). The version properties are integer values.

This section may be followed by one or more "depends" sections. These sections describe the base modules that are required to be active to make this module work. The package manager will enforce this policy and will deactivate this module if one of the base modules is missing.

 dependency.module-id.module: org.pentaho.reporting.engine.classic.core.modules.output.table.xls.XLSTableModule
 dependency.module-id.version.major: 0
 dependency.module-id.version.minor: 84
 

The property *.module references to the module implementation of the module package. The module-id is a per-module-definition-unique identifier and it is recommended to set it to the referenced module's name for documentary purposes.

Author:
Thomas Morgner

Method Summary
 void configure(SubSystem subSystem)
          Configures the module by loading the configuration properties and adding them to the package configuration.
 String getDescription()
          Returns the module description.
 String getName()
          Returns the name of this module.
 ModuleInfo[] getOptionalModules()
          Returns a copy of the required modules array.
 String getProducer()
          Returns the producer of the module.
 ModuleInfo[] getRequiredModules()
          Returns a copy of the required modules array.
 String getSubSystem()
          Returns the modules subsystem.
 void setOptionalModules(ModuleInfo[] optionalModules)
          Defines the optional module descriptions for this module.
 String toString()
          Returns a string representation of this module.
 
Methods inherited from class org.pentaho.reporting.libraries.base.boot.DefaultModuleInfo
equals, getMajorVersion, getMinorVersion, getModuleClass, getPatchLevel, hashCode, setMajorVersion, setMinorVersion, setModuleClass, setPatchLevel
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.pentaho.reporting.libraries.base.boot.Module
initialize
 
Methods inherited from interface org.pentaho.reporting.libraries.base.boot.ModuleInfo
getMajorVersion, getMinorVersion, getModuleClass, getPatchLevel
 

Method Detail

getName

public String getName()
Returns the name of this module.

Specified by:
getName in interface Module
Returns:
the module name
See Also:
Module.getName()

getDescription

public String getDescription()
Returns the module description.

Specified by:
getDescription in interface Module
Returns:
the description of the module.
See Also:
Module.getDescription()

getProducer

public String getProducer()
Returns the producer of the module.

Specified by:
getProducer in interface Module
Returns:
the producer.
See Also:
Module.getProducer()

getRequiredModules

public ModuleInfo[] getRequiredModules()
Returns a copy of the required modules array. This array contains all description of the modules that need to be present to make this module work.

Specified by:
getRequiredModules in interface Module
Returns:
an array of all required modules.
See Also:
Module.getRequiredModules()

getOptionalModules

public ModuleInfo[] getOptionalModules()
Returns a copy of the required modules array. This array contains all description of the optional modules that may improve the modules functonality.

Specified by:
getOptionalModules in interface Module
Returns:
an array of all required modules.
See Also:
Module.getRequiredModules()

setOptionalModules

public void setOptionalModules(ModuleInfo[] optionalModules)
Defines the optional module descriptions for this module.

Parameters:
optionalModules - the optional modules.

toString

public String toString()
Returns a string representation of this module.

Overrides:
toString in class DefaultModuleInfo
Returns:
the string representation of this module for debugging purposes.
See Also:
Object.toString()

configure

public void configure(SubSystem subSystem)
Configures the module by loading the configuration properties and adding them to the package configuration.

Specified by:
configure in interface Module
Parameters:
subSystem - the subsystem.

getSubSystem

public String getSubSystem()
Returns the modules subsystem. If this module is not part of an subsystem then return the modules name, but never null.

Specified by:
getSubSystem in interface Module
Returns:
the name of the subsystem.