01: /**
02: * ========================================
03: * JFreeReport : a free Java report library
04: * ========================================
05: *
06: * Project Info: http://reporting.pentaho.org/
07: *
08: * (C) Copyright 2000-2007, by Object Refinery Limited, Pentaho Corporation and Contributors.
09: *
10: * This library is free software; you can redistribute it and/or modify it under the terms
11: * of the GNU Lesser General Public License as published by the Free Software Foundation;
12: * either version 2.1 of the License, or (at your option) any later version.
13: *
14: * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
15: * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16: * See the GNU Lesser General Public License for more details.
17: *
18: * You should have received a copy of the GNU Lesser General Public License along with this
19: * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
20: * Boston, MA 02111-1307, USA.
21: *
22: * [Java is a trademark or registered trademark of Sun Microsystems, Inc.
23: * in the United States and other countries.]
24: *
25: * ------------
26: * $Id: AbstractReportTarget.java 3048 2007-07-28 18:02:42Z tmorgner $
27: * ------------
28: * (C) Copyright 2000-2005, by Object Refinery Limited.
29: * (C) Copyright 2005-2007, by Pentaho Corporation.
30: */package org.jfree.report.flow;
31:
32: import org.jfree.layouting.namespace.NamespaceDefinition;
33: import org.jfree.layouting.namespace.Namespaces;
34: import org.jfree.layouting.util.AttributeMap;
35: import org.jfree.report.JFreeReportInfo;
36: import org.jfree.report.structure.Element;
37: import org.jfree.resourceloader.ResourceKey;
38: import org.jfree.resourceloader.ResourceManager;
39: import org.jfree.util.ObjectUtilities;
40:
41: /**
42: * Creation-Date: 03.07.2006, 16:31:12
43: *
44: * @author Thomas Morgner
45: */
46: public abstract class AbstractReportTarget implements ReportTarget {
47: private ResourceManager resourceManager;
48: private ResourceKey baseResource;
49: private ReportJob reportJob;
50:
51: protected AbstractReportTarget(final ReportJob reportJob,
52: final ResourceManager resourceManager,
53: final ResourceKey baseResource) {
54: if (reportJob == null) {
55: throw new NullPointerException();
56: }
57: this .baseResource = baseResource;
58: this .reportJob = reportJob;
59:
60: if (resourceManager == null) {
61: this .resourceManager = new ResourceManager();
62: this .resourceManager.registerDefaults();
63: } else {
64: this .resourceManager = resourceManager;
65: }
66: }
67:
68: protected NamespaceDefinition[] createDefaultNameSpaces() {
69: return Namespaces.createFromConfig(
70: reportJob.getConfiguration(),
71: "org.jfree.report.namespaces.", getResourceManager());
72: }
73:
74: protected ResourceManager getResourceManager() {
75: return resourceManager;
76: }
77:
78: protected ResourceKey getBaseResource() {
79: return baseResource;
80: }
81:
82: public ReportJob getReportJob() {
83: return reportJob;
84: }
85:
86: }
|