KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > SubDataset


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * SubDataset.java
28  *
29  * Created on 28 settembre 2005, 1.39
30  *
31  */

32
33 package it.businesslogic.ireport;
34 import it.businesslogic.ireport.gui.event.SubDatasetObjectChangedEvent;
35 import java.util.*;
36 import org.syntax.jedit.IReportKeywordLookup;
37
38
39 /**
40  *
41  * @author Administrator
42  */

43 public class SubDataset {
44     
45         private String JavaDoc name = "";
46     
47         private IReportKeywordLookup keywordLookup = new IReportKeywordLookup();
48     
49         private String JavaDoc query = "";
50         
51         private Vector fields = new Vector();
52         
53         private Vector parameters = new Vector();
54     
55         private Vector variables = new Vector();
56         
57         private Vector groups = new Vector();
58         
59         private Vector sortFields = new Vector();
60         
61         private java.util.Vector JavaDoc JRproperties = new Vector();
62         
63         private String JavaDoc whenResourceMissingType = "Null";
64     
65         private String JavaDoc scriptletClass = "";
66     
67         private String JavaDoc ResourceBundleBaseName = "";
68         
69         private String JavaDoc filterExpression = "";
70         
71         /**
72          * the type of the query
73          * iReport understands "sql", "hql" and "xPath";
74          */

75         private String JavaDoc queryLanguage = "sql";
76         
77         
78         
79         /** Getter for property query.
80          * @return Value of property query.
81          *
82          */

83         public java.lang.String JavaDoc getQuery() {
84             return query;
85         }
86
87         /** Setter for property query.
88          * @param query New value of property query.
89          *
90          */

91         public void setQuery(java.lang.String JavaDoc query) {
92             if ((this.query == null) ? query == null : this.query.equals(query)) return;
93             this.query = query;
94             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.QUERY, SubDatasetObjectChangedEvent.MODIFIED, query, query));
95         }
96         
97         /**********************************************************/
98         // FIELDS
99

100         /** Getter for property fields.
101          * @return Value of property fields.
102          *
103          */

104         public java.util.Vector JavaDoc getFields() {
105             return fields;
106         }
107     
108         public void addField(JRField field) {
109             this.fields.add(field);
110             getKeywordLookup().addKeyword("$F{" + field.getName() + "}");
111             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.FIELD, SubDatasetObjectChangedEvent.ADDED, field, field));
112         }
113         
114         public void removeField(JRField field) {
115             this.fields.remove(field);
116             getKeywordLookup().removeKeyword("$F{" + field.getName() + "}");
117             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.FIELD, SubDatasetObjectChangedEvent.DELETED, field, field));
118         }
119         
120        /** Setter for property fields.
121          * @param fields New value of property fields.
122          *
123          */

124         public void setFields(java.util.Vector JavaDoc fields) {
125             this.fields = fields;
126         }
127         
128         
129          /** Getter for property parameters.
130          * @return Value of property parameters.
131          *
132          */

133         public java.util.Vector JavaDoc getParameters() {
134             return parameters;
135         }
136
137         /** Setter for property parameters.
138          * @param parameters New value of property parameters.
139          *
140          */

141         public void setParameters(java.util.Vector JavaDoc parameters) {
142             this.parameters = parameters;
143         }
144
145         public void addParameter(JRParameter parameter) {
146             this.parameters.add(parameter);
147             getKeywordLookup().addKeyword("$P{" + parameter.getName() + "}");
148             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.PARAMETER, SubDatasetObjectChangedEvent.ADDED, parameter, parameter));
149         }
150
151         public void removeParameter(JRParameter parameter) {
152             if (parameter.isBuiltin()) return;
153             this.parameters.remove(parameter);
154             getKeywordLookup().removeKeyword("$P{" + parameter.getName() + "}");
155             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.PARAMETER, SubDatasetObjectChangedEvent.DELETED, parameter, parameter));
156         }
157
158         
159         
160             /** Getter for property variables.
161          * @return Value of property variables.
162          *
163          */

164         public java.util.Vector JavaDoc getVariables() {
165             return variables;
166         }
167
168         public void addVariable(JRVariable variable) {
169             this.variables.add(variable);
170             getKeywordLookup().addKeyword("$V{" + variable.getName() + "}");
171             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.VARIABLE, SubDatasetObjectChangedEvent.ADDED, variable, variable));
172         }
173         
174         public void removeVariable(JRVariable variable) {
175             if (variable.isBuiltin()) return;
176             this.variables.remove(variable);
177             getKeywordLookup().removeKeyword("$V{" + variable.getName() + "}");
178             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.VARIABLE, SubDatasetObjectChangedEvent.DELETED, variable, variable));
179         }
180
181         /** Setter for property variables.
182          * @param variables New value of property variables.
183          *
184          */

185         public void setVariables(java.util.Vector JavaDoc variables) {
186             this.variables = variables;
187         }
188
189          /** Getter for property groups.
190          * @return Value of property groups.
191          *
192          */

193         public java.util.Vector JavaDoc getGroups() {
194             return groups;
195         }
196
197         /** Setter for property groups.
198          * @param groups New value of property groups.
199          *
200          */

201         public void setGroups(java.util.Vector JavaDoc groups) {
202             this.groups = groups;
203         }
204
205         /**********************************************************/
206         // KEYWORDS LOOKUP
207
public IReportKeywordLookup getKeywordLookup() {
208             return keywordLookup;
209         }
210
211         public void setKeywordLookup(IReportKeywordLookup keywordLookup) {
212             this.keywordLookup = keywordLookup;
213         }
214         
215         
216         public String JavaDoc getWhenResourceMissingType() {
217             return whenResourceMissingType;
218         }
219
220         public void setWhenResourceMissingType(String JavaDoc whenResourceMissingType) {
221             this.whenResourceMissingType = whenResourceMissingType;
222         }
223         
224         /** Getter for property scriptletClass.
225      * @return Value of property scriptletClass.
226      *
227      */

228     public java.lang.String JavaDoc getScriptletClass() {
229         return scriptletClass;
230     }
231     
232     /** Setter for property scriptletClass.
233      * @param scriptletClass New value of property scriptletClass.
234      *
235      */

236     public void setScriptletClass(java.lang.String JavaDoc scriptletClass) {
237         this.scriptletClass = scriptletClass;
238     }
239     
240     public String JavaDoc getResourceBundleBaseName() {
241         return ResourceBundleBaseName;
242     }
243
244     public void setResourceBundleBaseName(String JavaDoc ResourceBundleBaseName) {
245         this.ResourceBundleBaseName = ResourceBundleBaseName;
246     }
247
248        /** Getter for property name.
249      * @return Value of property name.
250      *
251      */

252     public java.lang.String JavaDoc getName() {
253         return name;
254     }
255     
256     /** Setter for property name.
257      * @param name New value of property name.
258      *
259      */

260     public void setName(java.lang.String JavaDoc name) {
261         this.name = name;
262     }
263     
264     public String JavaDoc toString()
265     {
266         return getName();
267     }
268
269     /**
270      * Utility field used by event firing mechanism.
271      */

272     private javax.swing.event.EventListenerList JavaDoc listenerList = null;
273
274     /**
275      * Registers SubDatasetObjectChangedListener to receive events.
276      * @param listener The listener to register.
277      */

278     public synchronized void addSubDatasetObjectChangedListener(it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener listener) {
279         if (getListenerList() == null ) {
280             setListenerList(new javax.swing.event.EventListenerList JavaDoc());
281         }
282         getListenerList().add (it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener.class, listener);
283     }
284
285     /**
286      * Removes SubDatasetObjectChangedListener from the list of listeners.
287      * @param listener The listener to remove.
288      */

289     public synchronized void removeSubDatasetObjectChangedListener(it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener listener) {
290         getListenerList().remove (it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener.class, listener);
291     }
292
293     /**
294      * Notifies all registered listeners about the event.
295      *
296      * @param event The event to be fired
297      */

298     public void fireSubDatasetObjectChangedListenerSubDatasetObjectChanged(it.businesslogic.ireport.gui.event.SubDatasetObjectChangedEvent event) {
299         if (getListenerList() == null) return;
300         Object JavaDoc[] listeners = getListenerList().getListenerList ();
301         for (int i = listeners.length - 2; i >= 0; i -= 2) {
302             if (listeners[i]==it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener.class) {
303                 ((it.businesslogic.ireport.gui.event.SubDatasetObjectChangedListener)listeners[i+1]).subDatasetObjectChanged (event);
304             }
305         }
306     }
307
308     public SubDataset()
309     {
310         addVariable(new JRVariable("PAGE_NUMBER","java.lang.Integer", true ));
311         addVariable(new JRVariable("COLUMN_NUMBER","java.lang.Integer", true));
312         addVariable(new JRVariable("REPORT_COUNT","java.lang.Integer", true));
313         addVariable(new JRVariable("PAGE_COUNT","java.lang.Integer", true));
314         addVariable(new JRVariable("COLUMN_COUNT","java.lang.Integer", true));
315         
316         addParameter(new JRParameter("REPORT_PARAMETERS_MAP","java.util.Map",false,"",true));
317         addParameter(new JRParameter("REPORT_CONNECTION","java.sql.Connection",false,"",true));
318         addParameter(new JRParameter("REPORT_MAX_COUNT","java.lang.Integer",false,"",true));
319         addParameter(new JRParameter("REPORT_DATA_SOURCE","net.sf.jasperreports.engine.JRDataSource",false,"",true));
320         addParameter(new JRParameter("REPORT_SCRIPTLET","net.sf.jasperreports.engine.JRAbstractScriptlet",false,"",true));
321         addParameter(new JRParameter("REPORT_LOCALE","java.util.Locale",false,"",true));
322         addParameter(new JRParameter("REPORT_RESOURCE_BUNDLE","java.util.ResourceBundle",false,"",true));
323         addParameter(new JRParameter("REPORT_TIME_ZONE","java.util.TimeZone",false,"",true));
324         addParameter(new JRParameter("REPORT_VIRTUALIZER","net.sf.jasperreports.engine.JRVirtualizer",false,"",true));
325         addParameter(new JRParameter("REPORT_CLASS_LOADER","java.lang.ClassLoader",false,"",true));
326         addParameter(new JRParameter("REPORT_URL_HANDLER_FACTORY","java.net.URLStreamHandlerFactory",false,"",true));
327         addParameter(new JRParameter("REPORT_FORMAT_FACTORY","net.sf.jasperreports.engine.util.FormatFactory",false,"",true));
328         addParameter(new JRParameter("IS_IGNORE_PAGINATION","java.lang.Boolean",false,"",true));
329         
330         addParameter(new JRParameter("HIBERNATE_SESSION","org.hibernate.Session",false,"",true));
331         addParameter(new JRParameter("XML_DATA_DOCUMENT","org.w3c.dom.Document",false,"",true));
332         addParameter(new JRParameter("JPA_ENTITY_MANAGER","javax.persistence.EntityManager",false,"",true));
333         addParameter(new JRParameter("JPA_QUERY_HINTS_MAP","java.util.Map",false,"",true));
334         addParameter(new JRParameter("MONDRIAN_CONNECTION","mondrian.olap.Connection",false,"",true));
335         
336         //addParameter(new JRParameter("XMLA_URL","java.util.String",false,"",true));
337
//addParameter(new JRParameter("XMLA_DATASOURCE","java.util.String",false,"",true));
338
//addParameter(new JRParameter("XMLA_CATALOG","java.util.String",false,"",true));
339
}
340     
341     
342     public void addJRProperty(JRProperty property) {
343         this.JRproperties.add(property);
344     }
345         
346     public void removeJRProperty(JRProperty property) {
347         this.JRproperties.remove(property);
348     }
349     
350     /** Getter for property JRproperties.
351      * @return Value of property JRproperties.
352      *
353      */

354     public java.util.Vector JavaDoc getJRproperties() {
355         return JRproperties;
356     }
357     
358     /** Setter for property JRproperties.
359      * @param JRproperties New value of property JRproperties.
360      *
361      */

362     public void setJRproperties(java.util.Vector JavaDoc JRproperties) {
363         this.JRproperties = JRproperties;
364     }
365
366     public String JavaDoc getQueryLanguage() {
367         return queryLanguage;
368     }
369
370     public void setQueryLanguage(String JavaDoc queryLanguage) {
371         if ((this.queryLanguage == null) ? queryLanguage == null : this.queryLanguage.equals(queryLanguage)) return;
372         this.queryLanguage = queryLanguage;
373         this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.QUERY_LANGUAGE, SubDatasetObjectChangedEvent.MODIFIED, queryLanguage, queryLanguage));
374     }
375
376     
377     protected String JavaDoc language = "java";
378
379     public javax.swing.event.EventListenerList JavaDoc getListenerList() {
380         return listenerList;
381     }
382
383     public void setListenerList(javax.swing.event.EventListenerList JavaDoc listenerList) {
384         this.listenerList = listenerList;
385     }
386
387     public String JavaDoc getFilterExpression() {
388         return filterExpression;
389     }
390
391     public void setFilterExpression(String JavaDoc filterExpression) {
392         this.filterExpression = filterExpression;
393     }
394
395     public Vector getSortFields() {
396         return sortFields;
397     }
398
399     public void setSortFields(Vector sortFields) {
400         this.sortFields = sortFields;
401     }
402     
403     public void addSortField(SortField sortField) {
404             this.getSortFields().add(sortField);
405             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.SORTFIELD, SubDatasetObjectChangedEvent.ADDED, sortField, sortField));
406         }
407
408         public void removeSortField(SortField sortField) {
409             this.getSortFields().remove(sortField);
410             this.fireSubDatasetObjectChangedListenerSubDatasetObjectChanged( new SubDatasetObjectChangedEvent(this,SubDatasetObjectChangedEvent.SORTFIELD, SubDatasetObjectChangedEvent.DELETED, sortField, sortField));
411         }
412 }
413
Popular Tags