01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.crm.report.model.dataset;
15:
16: import org.jetbrains.annotations.NotNull;
17: import org.jetbrains.annotations.Nullable;
18: import org.pentaho.reportdesigner.crm.report.model.ReportElement;
19: import org.pentaho.reportdesigner.crm.report.reportexporter.ReportCreationException;
20: import org.pentaho.reportdesigner.crm.report.reportexporter.ReportVisitor;
21:
22: import java.util.ArrayList;
23:
24: /**
25: * User: Martin
26: * Date: 31.01.2006
27: * Time: 10:28:06
28: */
29: public class DataSetsReportElement extends ReportElement {
30: public DataSetsReportElement() {
31: }
32:
33: public void addChild(@NotNull
34: final ReportElement child) {
35: if (!(child instanceof DataSetReportElement)) {
36: throw new IllegalArgumentException(
37: "Can only add DataSets as children");
38: }
39: super .addChild(child);
40: }
41:
42: public void accept(@Nullable
43: Object parent, @NotNull
44: ReportVisitor reportVisitor) throws ReportCreationException {
45: Object newParent = reportVisitor.visit(parent, this );
46:
47: ArrayList<ReportElement> children = new ArrayList<ReportElement>(
48: getChildren());
49: for (ReportElement reportElement : children) {
50: reportElement.accept(newParent, reportVisitor);
51: }
52: }
53: }
|