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.datasetplugin;
15:
16: import org.jetbrains.annotations.NonNls;
17: import org.jetbrains.annotations.NotNull;
18: import org.jetbrains.annotations.Nullable;
19: import org.pentaho.reportdesigner.crm.report.model.ReportElement;
20: import org.pentaho.reportdesigner.crm.report.model.dataset.TableModelDataSetReportElement;
21: import org.pentaho.reportdesigner.crm.report.wizard.AbstractWizardPage;
22: import org.pentaho.reportdesigner.crm.report.wizard.WizardData;
23:
24: import javax.swing.*;
25: import java.util.HashMap;
26:
27: /**
28: * User: Martin
29: * Date: 27.02.2006
30: * Time: 09:36:49
31: */
32: public interface DataSetPlugin {
33: @NotNull
34: @NonNls
35: String getID();
36:
37: @NotNull
38: String getLocalizedName();
39:
40: @NotNull
41: String getLocalizedDescription();
42:
43: @Nullable
44: ImageIcon getSmallIcon();
45:
46: boolean isWizardable();
47:
48: void initWizardPages();
49:
50: @Nullable
51: AbstractWizardPage getFirstWizardPage();
52:
53: @Nullable
54: AbstractWizardPage getLastWizardPage();
55:
56: @NotNull
57: WizardData[] getInitialWizardDatas();
58:
59: @NotNull
60: TableModelDataSetReportElement createDataSet(@NotNull
61: HashMap<String, WizardData> wizardDatas);
62:
63: boolean canRead(@Nullable
64: String classname);
65:
66: @NotNull
67: ReportElement createEmptyInstance(@NotNull
68: String className);
69: }
|