1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.es.user.cbean.bs;
17
18 import java.util.ArrayList;
19 import java.util.List;
20 import java.util.Map;
21
22 import org.codelibs.fesen.action.search.SearchRequestBuilder;
23 import org.codelibs.fesen.index.query.QueryBuilder;
24 import org.codelibs.fess.es.user.allcommon.EsAbstractConditionBean;
25 import org.codelibs.fess.es.user.bsentity.dbmeta.UserDbm;
26 import org.codelibs.fess.es.user.cbean.UserCB;
27 import org.codelibs.fess.es.user.cbean.ca.UserCA;
28 import org.codelibs.fess.es.user.cbean.ca.bs.BsUserCA;
29 import org.codelibs.fess.es.user.cbean.cq.UserCQ;
30 import org.codelibs.fess.es.user.cbean.cq.bs.BsUserCQ;
31 import org.dbflute.cbean.ConditionQuery;
32
33
34
35
36 public class BsUserCB extends EsAbstractConditionBean {
37
38
39
40
41 protected BsUserCQ _conditionQuery;
42 protected BsUserCA _conditionAggregation;
43 protected HpSpecification _specification;
44
45
46
47
48 @Override
49 public UserDbm asDBMeta() {
50 return UserDbm.getInstance();
51 }
52
53 @Override
54 public String asTableDbName() {
55 return "user";
56 }
57
58 @Override
59 public boolean hasSpecifiedColumn() {
60 return _specification != null;
61 }
62
63 @Override
64 public ConditionQuery localCQ() {
65 return doGetConditionQuery();
66 }
67
68
69
70
71 public UserCB acceptPK(String id) {
72 assertObjectNotNull("id", id);
73 BsUserCB cb = this;
74 cb.query().docMeta().setId_Equal(id);
75 return (UserCB) this;
76 }
77
78 @Override
79 public void acceptPrimaryKeyMap(Map<String, ? extends Object> primaryKeyMap) {
80 acceptPK((String) primaryKeyMap.get("_id"));
81 }
82
83
84
85
86
87 @Override
88 public SearchRequestBuilder build(SearchRequestBuilder builder) {
89 if (_conditionQuery != null) {
90 QueryBuilder queryBuilder = _conditionQuery.getQuery();
91 if (queryBuilder != null) {
92 builder.setQuery(queryBuilder);
93 }
94 _conditionQuery.getFieldSortBuilderList().forEach(sort -> {
95 builder.addSort(sort);
96 });
97 }
98
99 if (_conditionAggregation != null) {
100 _conditionAggregation.getAggregationBuilderList().forEach(builder::addAggregation);
101 }
102
103 if (_specification != null) {
104 builder.setFetchSource(_specification.columnList.toArray(new String[_specification.columnList.size()]), null);
105 }
106
107 return builder;
108 }
109
110
111
112
113 public BsUserCQ query() {
114 assertQueryPurpose();
115 return doGetConditionQuery();
116 }
117
118 protected BsUserCQ doGetConditionQuery() {
119 if (_conditionQuery == null) {
120 _conditionQuery = createLocalCQ();
121 }
122 return _conditionQuery;
123 }
124
125 protected BsUserCQ createLocalCQ() {
126 return new UserCQ();
127 }
128
129
130
131
132 public BsUserCA aggregation() {
133 assertAggregationPurpose();
134 return doGetConditionAggregation();
135 }
136
137 protected BsUserCA doGetConditionAggregation() {
138 if (_conditionAggregation == null) {
139 _conditionAggregation = createLocalCA();
140 }
141 return _conditionAggregation;
142 }
143
144 protected BsUserCA createLocalCA() {
145 return new UserCA();
146 }
147
148
149
150
151 public HpSpecification specify() {
152 assertSpecifyPurpose();
153 if (_specification == null) {
154 _specification = new HpSpecification();
155 }
156 return _specification;
157 }
158
159 protected void assertQueryPurpose() {
160 }
161
162 protected void assertAggregationPurpose() {
163 }
164
165 protected void assertSpecifyPurpose() {
166 }
167
168 public static class HpSpecification {
169 protected List<String> columnList = new ArrayList<>();
170
171 private void doColumn(String name) {
172 columnList.add(name);
173 }
174
175 public void columnId() {
176 doColumn("_id");
177 }
178
179 public void columnBusinessCategory() {
180 doColumn("businessCategory");
181 }
182
183 public void columnCarLicense() {
184 doColumn("carLicense");
185 }
186
187 public void columnCity() {
188 doColumn("city");
189 }
190
191 public void columnDepartmentNumber() {
192 doColumn("departmentNumber");
193 }
194
195 public void columnDescription() {
196 doColumn("description");
197 }
198
199 public void columnDestinationIndicator() {
200 doColumn("destinationIndicator");
201 }
202
203 public void columnDisplayName() {
204 doColumn("displayName");
205 }
206
207 public void columnEmployeeNumber() {
208 doColumn("employeeNumber");
209 }
210
211 public void columnEmployeeType() {
212 doColumn("employeeType");
213 }
214
215 public void columnFacsimileTelephoneNumber() {
216 doColumn("facsimileTelephoneNumber");
217 }
218
219 public void columnGidNumber() {
220 doColumn("gidNumber");
221 }
222
223 public void columnGivenName() {
224 doColumn("givenName");
225 }
226
227 public void columnGroups() {
228 doColumn("groups");
229 }
230
231 public void columnHomeDirectory() {
232 doColumn("homeDirectory");
233 }
234
235 public void columnHomePhone() {
236 doColumn("homePhone");
237 }
238
239 public void columnHomePostalAddress() {
240 doColumn("homePostalAddress");
241 }
242
243 public void columnInitials() {
244 doColumn("initials");
245 }
246
247 public void columnInternationaliSDNNumber() {
248 doColumn("internationaliSDNNumber");
249 }
250
251 public void columnLabeledURI() {
252 doColumn("labeledURI");
253 }
254
255 public void columnMail() {
256 doColumn("mail");
257 }
258
259 public void columnMobile() {
260 doColumn("mobile");
261 }
262
263 public void columnName() {
264 doColumn("name");
265 }
266
267 public void columnPager() {
268 doColumn("pager");
269 }
270
271 public void columnPassword() {
272 doColumn("password");
273 }
274
275 public void columnPhysicalDeliveryOfficeName() {
276 doColumn("physicalDeliveryOfficeName");
277 }
278
279 public void columnPostOfficeBox() {
280 doColumn("postOfficeBox");
281 }
282
283 public void columnPostalAddress() {
284 doColumn("postalAddress");
285 }
286
287 public void columnPostalCode() {
288 doColumn("postalCode");
289 }
290
291 public void columnPreferredLanguage() {
292 doColumn("preferredLanguage");
293 }
294
295 public void columnRegisteredAddress() {
296 doColumn("registeredAddress");
297 }
298
299 public void columnRoles() {
300 doColumn("roles");
301 }
302
303 public void columnRoomNumber() {
304 doColumn("roomNumber");
305 }
306
307 public void columnState() {
308 doColumn("state");
309 }
310
311 public void columnStreet() {
312 doColumn("street");
313 }
314
315 public void columnSurname() {
316 doColumn("surname");
317 }
318
319 public void columnTelephoneNumber() {
320 doColumn("telephoneNumber");
321 }
322
323 public void columnTeletexTerminalIdentifier() {
324 doColumn("teletexTerminalIdentifier");
325 }
326
327 public void columnTitle() {
328 doColumn("title");
329 }
330
331 public void columnUidNumber() {
332 doColumn("uidNumber");
333 }
334
335 public void columnX121Address() {
336 doColumn("x121Address");
337 }
338 }
339 }