1 /*** $Id: QBEEmployeeTO.java,v 1.1.1.1 2004/05/18 10:50:21 mochoa Exp $ */
2
3 package cmd_dao.sample.common.hibernate.employee;
4 //dao
5 import org.j2ee.dao.AbstractHibernateDAOAction;
6 //dto
7 import cmd_dao.sample.common.dto.EmployeeTO;
8
9 /***
10 * Last modified $Date: 2004/05/18 10:50:21 $
11 * @version $Revision: 1.1.1.1 $
12 * @author Hibernate Action Generator
13 * This class is concrete implementation for an action using Hibernate.
14 *
15 * Based on an example of book Code Notes for J2EE, Edited by GREGORY BRILL,
16 * e-ISBN 0-679-64727-9
17 * Automated generated code, DO NOT EDIT
18 */
19 public class QBEEmployeeTO extends AbstractHibernateDAOAction {
20
21 private EmployeeTO employeeTO = null;
22
23 /***
24 * Default constructor, calls to the super class given the kind
25 * of action to be implement.
26 */
27 public QBEEmployeeTO() {
28 super(AbstractHibernateDAOAction.HQL_QUERY);
29 }
30
31
32 /***
33 * Class constructor setting the DTO.
34 * First calls to the default contructor to set the operation
35 * then set the private instance with the given DTO.
36 * @param dto for this action
37 */
38 public QBEEmployeeTO(EmployeeTO dto) {
39 this();
40 this.employeeTO = dto;
41 }
42
43
44 /***
45 * getter method for the private attribute
46 */
47 public EmployeeTO getEmployeeTO() {
48 return this.employeeTO;
49 }
50
51 /***
52 * getter method for the private attribute
53 */
54 public Object getTO() {
55 return this.employeeTO;
56 }
57
58 /***
59 * setter method for the private attribute
60 */
61 public void setEmployeeTO(EmployeeTO dto) {
62 this.employeeTO = dto;
63 }
64
65 /***
66 * setter method for the private attribute
67 */
68 public void setTO(Object dto) {
69 this.employeeTO = (EmployeeTO)dto;
70 }
71
72
73 /***
74 * private attribute to know if the query found the object
75 */
76 private boolean found = false;
77
78 /***
79 * ArrayList to store the query result
80 */
81 private java.util.List result = null;
82
83 /***
84 * ArrayList filled at execution time with the binding parameters values of the where condition
85 */
86 private java.util.ArrayList parameters = new java.util.ArrayList();
87
88 /***
89 * ArrayList filled at execution time with the binding parameters names of the where condition
90 */
91 private java.util.ArrayList names = new java.util.ArrayList();
92
93 /***
94 * Order by condition for the query.
95 */
96 private String orderBy = "";
97
98 /***
99 * static query string using HQL sintax, do not require dynamic computation
100 * to know the HQL syntax for finding the object throw his primary key
101 */
102 private static final String sql_stmt="from cmd_dao.sample.common.dto.EmployeeTO as EmployeeTO";
103 /***
104 * Return true if the object was found.
105 * otherwise false
106 */
107 public boolean isFound() {
108 if (result==null)
109 return false;
110 else
111 return !result.isEmpty();
112 }
113
114
115 /***
116 * setter method for the private attribute
117 */
118 public void setOrderBy(String newOrderBy) {
119 this.orderBy = newOrderBy;
120 }
121
122 /***
123 * getter method for the private attribute
124 */
125 public String getOrderBy() {
126 return this.orderBy;
127 }
128
129
130 /***
131 * Return the HQL query string used by Hibernate to find the
132 * object.
133 * Test for every property into the DTO instance,
134 * for values not equal to null generate the where condition to test for
135 * like if its String or = for other types.
136 */
137 public String getHQL() {
138 StringBuffer whereCondition = new StringBuffer(" where ");
139
140 if (this.employeeTO.getComm()!=null) {
141 whereCondition.append("comm = :comm and ");
142 parameters.add(this.employeeTO.getComm());
143 names.add("comm");
144 }
145
146 if (this.employeeTO.getDeptNo()!=null) {
147 whereCondition.append("deptNo = :deptNo and ");
148 parameters.add(this.employeeTO.getDeptNo());
149 names.add("deptNo");
150 }
151
152 if (this.employeeTO.getHireDate()!=null) {
153 whereCondition.append("hireDate = :hireDate and ");
154 parameters.add(this.employeeTO.getHireDate());
155 names.add("hireDate");
156 }
157
158 if (this.employeeTO.getJob()!=null) {
159 whereCondition.append("job like :job and ");
160 parameters.add(this.employeeTO.getJob());
161 names.add("job");
162 }
163
164 if (this.employeeTO.getManager()!=null) {
165 whereCondition.append("manager = :manager and ");
166 parameters.add(this.employeeTO.getManager());
167 names.add("manager");
168 }
169
170 if (this.employeeTO.getName()!=null) {
171 whereCondition.append("name like :name and ");
172 parameters.add(this.employeeTO.getName());
173 names.add("name");
174 }
175
176 if (this.employeeTO.getSalary()!=null) {
177 whereCondition.append("salary = :salary and ");
178 parameters.add(this.employeeTO.getSalary());
179 names.add("salary");
180 }
181
182 String whereStr = whereCondition.toString();
183 if (names.size()==0)
184 return this.sql_stmt+"order by "+orderBy; // No where condition applied
185 else // Return the orginal query plus the where string removing last and
186 return this.sql_stmt+whereStr.substring(0,whereStr.length()-4)+"order by "+orderBy;
187 }
188
189
190 /***
191 * After the execution of the HQL query by the Action processor
192 * this method is called to process the hibernate result.
193 * For this implementation, It stores the result into the private attribute.
194 */
195 public void handleResults(java.util.List rs) {
196 if (rs!=null)
197 result = rs;
198 }
199
200
201 /***
202 * getter method for the private attribute
203 */
204 public java.util.List getResult() {
205 return this.result;
206 }
207
208
209 /***
210 * This method is called from DAOHibernateActionProcessorImpl
211 * They must return the parameters for the operation to be called.
212 * For insert/delete/update operations it only needs the transfer object
213 * For Load operation it needs the transfer object and primary key.
214 * @return an array of objects.
215 */
216 public Object[] getParameters() {
217 return parameters.toArray();
218 }
219
220
221 /***
222 * Return the names of the parameters used into the HQL query
223 */
224 public String[] getNamesForParams() {
225 return (String [])names.toArray(new String[names.size()]);
226 }
227
228 }
229
230
This page was automatically generated by Maven