# Package org.jfree.base.modules

- Interface Summary
  Interface | Description
  --- | ---
  Module | A module encapsulates optional functionality within a project.
  ModuleInfo | The Module info class encapsulates metadata about a given module.
  ModuleInitializer | The module initializer is used to separate the initialization process from the module definition.
  SubSystem | A sub-system holds a separate collection of modules.

- Class Summary
  Class | Description
  --- | ---
  AbstractModule | The abstract module provides a default implementation of the module interface.
  DefaultModuleInfo | Provides a default implementation of the module info interface.
  PackageManager | The PackageManager is used to load and configure the modules of JFreeReport.
  PackageManager.PackageConfiguration | The PackageConfiguration handles the module level configuration.
  PackageSorter | Compares two modules for order.
  PackageState | The package state class is used by the package manager to keep track of the activation level of the installed or errornous packages.

- Exception Summary
  Exception | Description
  --- | ---
  ModuleInitializeException | This exception is thrown when the module initialization encountered an unrecoverable error which prevents the module from being used.