001: /**
002: * ========================================
003: * JFreeReport : a free Java report library
004: * ========================================
005: *
006: * Project Info: http://reporting.pentaho.org/
007: *
008: * (C) Copyright 2000-2007, by Object Refinery Limited, Pentaho Corporation and Contributors.
009: *
010: * This library is free software; you can redistribute it and/or modify it under the terms
011: * of the GNU Lesser General Public License as published by the Free Software Foundation;
012: * either version 2.1 of the License, or (at your option) any later version.
013: *
014: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
015: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
016: * See the GNU Lesser General Public License for more details.
017: *
018: * You should have received a copy of the GNU Lesser General Public License along with this
019: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
020: * Boston, MA 02111-1307, USA.
021: *
022: * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
023: * in the United States and other countries.]
024: *
025: * ------------
026: * $Id: JFreeReportCoreModule.java 3048 2007-07-28 18:02:42Z tmorgner $
027: * ------------
028: * (C) Copyright 2000-2005, by Object Refinery Limited.
029: * (C) Copyright 2005-2007, by Pentaho Corporation.
030: */package org.jfree.report;
031:
032: import java.io.InputStream;
033:
034: import org.jfree.base.modules.AbstractModule;
035: import org.jfree.base.modules.ModuleInitializeException;
036: import org.jfree.base.modules.SubSystem;
037: import org.jfree.util.ObjectUtilities;
038:
039: /**
040: * The CoreModule is used to represent the base classes of JFreeReport in a
041: * PackageManager-compatible way. Modules may request a certain core-version to be present
042: * by referencing to this module.
043: * <p>
044: * This module is used to initialize the image and drawable factories. If the
045: * Pixie library is available, support for WMF-files is added to the factories.
046: *
047: * @author Thomas Morgner
048: */
049: public class JFreeReportCoreModule extends AbstractModule {
050: /**
051: * The 'no-printer-available' property key.
052: */
053: public static final String NO_PRINTER_AVAILABLE_KEY = "org.jfree.report.NoPrinterAvailable";
054:
055: /**
056: * The G2 fontrenderer bug override configuration key.
057: */
058: public static final String FONTRENDERER_ISBUGGY_FRC_KEY = "org.jfree.report.layout.fontrenderer.IsBuggyFRC";
059:
060: /**
061: * The text aliasing configuration key.
062: */
063: public static final String FONTRENDERER_USEALIASING_KEY = "org.jfree.report.layout.fontrenderer.UseAliasing";
064:
065: /**
066: * A configuration key that defines, whether errors will abort the report
067: * processing. This defaults to true.
068: */
069: public static final String STRICT_ERROR_HANDLING_KEY = "org.jfree.report.StrictErrorHandling";
070:
071: /**
072: * Creates a new module definition based on the 'coremodule.properties' file of this
073: * package.
074: *
075: * @throws ModuleInitializeException if the file could not be loaded.
076: */
077: public JFreeReportCoreModule() throws ModuleInitializeException {
078: final InputStream in = ObjectUtilities
079: .getResourceRelativeAsStream("coremodule.properties",
080: JFreeReportCoreModule.class);
081: if (in == null) {
082: throw new ModuleInitializeException(
083: "File 'coremodule.properties' not found in JFreeReport package.");
084: }
085: loadModuleInfo(in);
086: }
087:
088: /**
089: * Initializes the module. Use this method to perform all initial setup operations. This
090: * method is called only once in a modules lifetime. If the initializing cannot be
091: * completed, throw a ModuleInitializeException to indicate the error,. The module will
092: * not be available to the system.
093: *
094: * @param subSystem the subSystem.
095: * @throws org.jfree.base.modules.ModuleInitializeException
096: * if an error ocurred while initializing the module.
097: */
098: public void initialize(final SubSystem subSystem)
099: throws ModuleInitializeException {
100: }
101: }
|