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.ReportDialog;
19: import org.pentaho.reportdesigner.crm.report.model.ReportElement;
20:
21: import javax.swing.*;
22: import java.util.HashSet;
23:
24: /**
25: * User: Martin
26: * Date: 31.01.2006
27: * Time: 08:19:51
28: */
29: public abstract class DataSetReportElement extends ReportElement {
30:
31: @Nullable
32: private Runnable callback;
33:
34: protected DataSetReportElement() {
35: }
36:
37: public boolean showConfigurationComponent(@NotNull
38: ReportDialog parent, boolean firsttime) {
39: throw new RuntimeException(
40: "No configuration available for this DataSetReportElement");
41: }
42:
43: public abstract boolean canConfigure();
44:
45: @NotNull
46: public abstract JComponent getInfoComponent();
47:
48: @NotNull
49: public abstract String getQueryName();
50:
51: @NotNull
52: public abstract String getShortSummary();
53:
54: @NotNull
55: public abstract HashSet<String> getDefinedFields();
56:
57: @Nullable
58: public Runnable getCallback() {
59: return callback;
60: }
61:
62: public void setCallback(@Nullable
63: Runnable callback) {
64: this.callback = callback;
65: }
66: }
|