1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.tuigwaa.database.function;
17
18 import org.seasar.tuigwaa.database.function.criteria.CriteriaFunction;
19 import org.seasar.tuigwaa.database.function.criteria.ICriteria;
20
21 import com.isenshi.util.functor.UnaryFunction;
22
23 public class InjectCriteriaExeFunction extends AbstractCriteriaExeFunction
24 implements UnaryFunction {
25
26 public Object evaluate(Object criteriaFunction) {
27 return evaluate(null, criteriaFunction);
28 }
29
30 public Object evaluate(Object dto, Object criteriaFunction) {
31 ICriteria criteria = createHibernateCriteria();
32 if (criteriaFunction != null) {
33 CriteriaFunction function = (CriteriaFunction) criteriaFunction;
34 if (dto != null) {
35 criteria = (ICriteria) function.evaluate(dto, criteria);
36 } else {
37 criteria = (ICriteria) function.evaluate(criteria);
38 }
39 }
40 return criteria.list();
41 }
42 }