KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > ojb > broker > query > ReportQueryByCriteria


1 package org.apache.ojb.broker.query;
2
3 /* Copyright 2002-2005 The Apache Software Foundation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17  
18 import java.util.Map JavaDoc;
19
20 /**
21  * Query for Reports.
22  * Supports selection of a subset of attributes.
23  *
24  * @author <a HREF="mailto:jbraeuchi@gmx.ch">Jakob Braeuchi</a>
25  * @version $Id: ReportQueryByCriteria.java,v 1.10.2.2 2005/12/21 22:27:09 tomdz Exp $
26  */

27 public class ReportQueryByCriteria extends QueryByCriteria implements ReportQuery
28 {
29     // define the attributes (columns) to be selected for reports
30
private String JavaDoc[] m_attributes = null;
31
32     // define the Jdbc-Types of the columns to be selected for reports
33
private int[] m_jdbcTypes = null;
34
35     // define the additional attributes (columns) to be used for the join
36
private String JavaDoc[] m_joinAttributes = null;
37     
38     // attribute -> FieldDescriptor
39
private Map JavaDoc m_attrToFld = null;
40
41     /**
42      * Constructor for ReportQueryByCriteria.
43      * @param targetClass
44      * @param attributes[]
45      * @param criteria
46      * @param distinct
47      */

48     public ReportQueryByCriteria(Class JavaDoc targetClass, String JavaDoc[] attributes, Criteria criteria, boolean distinct)
49     {
50         super(targetClass, criteria, distinct);
51         setAttributes(attributes);
52     }
53
54     /**
55      * Constructor for ReportQueryByCriteria.
56      * @param targetClass
57      * @param attributes[]
58      * @param criteria
59      */

60     public ReportQueryByCriteria(Class JavaDoc targetClass, String JavaDoc[] attributes, Criteria criteria)
61     {
62         this(targetClass, attributes, criteria, false);
63     }
64
65     /**
66      * Constructor for ReportQueryByCriteria.
67      * @param targetClass
68      * @param criteria
69      */

70     public ReportQueryByCriteria(Class JavaDoc targetClass, Criteria criteria)
71     {
72         this(targetClass, null, criteria, false);
73     }
74
75     /**
76      * Constructor for ReportQueryByCriteria.
77      * @param targetClass
78      * @param criteria
79      * @param distinct
80      */

81     public ReportQueryByCriteria(Class JavaDoc targetClass, Criteria criteria, boolean distinct)
82     {
83         this(targetClass, null, criteria, distinct);
84     }
85
86     /**
87      * Gets the columns.
88      * @return Returns a String[]
89      * @deprecated use getAttributes()
90      */

91     public String JavaDoc[] getColumns()
92     {
93         return getAttributes();
94     }
95
96     /**
97      * Sets the columns.
98      * @param columns The columns to set
99      * @deprecated use setAttributes()
100      */

101     public void setColumns(String JavaDoc[] columns)
102     {
103         setAttributes(columns);
104     }
105
106     /**
107      * Gets the attributes to be selected.</br>
108      * Attributes are translated into db-columns
109      * @return the attributes to be selected
110      */

111     public String JavaDoc[] getAttributes()
112     {
113         return m_attributes;
114     }
115
116     /**
117      * Sets the attributes to be selected.</br>
118      * Attributes are translated into db-columns
119      * @param attributes The attributes to set
120      */

121     public void setAttributes(String JavaDoc[] attributes)
122     {
123         m_attributes = attributes;
124     }
125     
126     /**
127      * @return Returns the jdbcTypes.
128      */

129     public int[] getJdbcTypes()
130     {
131         return m_jdbcTypes;
132     }
133
134     /**
135      * @param jdbcTypes The jdbcTypes to set.
136      */

137     public void setJdbcTypes(int[] jdbcTypes)
138     {
139         this.m_jdbcTypes = jdbcTypes;
140     }
141
142     /**
143      * @return Returns the joinAttributes.
144      */

145     public String JavaDoc[] getJoinAttributes()
146     {
147         return m_joinAttributes;
148     }
149
150     /**
151      * @param joinAttributes The joinAttributes to set.
152      */

153     public void setJoinAttributes(String JavaDoc[] joinAttributes)
154     {
155         m_joinAttributes = joinAttributes;
156     }
157     
158     /**
159      * @see java.lang.Object#toString()
160      */

161     public String JavaDoc toString()
162     {
163         String JavaDoc[] cols = getAttributes();
164         StringBuffer JavaDoc buf = new StringBuffer JavaDoc("ReportQuery from ");
165         buf.append(getSearchClass() + " ");
166         if (cols != null)
167         {
168             for (int i = 0; i < cols.length; i++)
169             {
170                 buf.append(cols[i] + " ");
171             }
172         }
173         if (getCriteria() != null && !getCriteria().isEmpty())
174         {
175             buf.append(" where " + getCriteria());
176         }
177
178         return buf.toString();
179     }
180
181     public Map JavaDoc getAttributeFieldDescriptors()
182     {
183         return m_attrToFld;
184     }
185
186     public void setAttributeFieldDescriptors(Map JavaDoc attrToFld)
187     {
188         m_attrToFld = attrToFld;
189     }
190
191
192     
193 }
194
Popular Tags