1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.seasar.tuigwaa.database.function.criteria;
23
24 import java.security.Principal;
25
26 import org.seasar.tuigwaa.util.TgwContext;
27
28
29 /***
30 * @author nishioka
31 */
32 public class SecurityCriteriaFunction extends AbstractCriteriaFunction {
33
34 public SecurityCriteriaFunction() {
35 super();
36 }
37
38 public SecurityCriteriaFunction(String field) {
39 super(field);
40 }
41
42 public SecurityCriteriaFunction(String field, Object value) {
43 super(field, value);
44 }
45
46 public Object evaluate(ICriteria criteria) {
47 Principal principal = TgwContext.getPrincipal();
48 if (principal != null) {
49 return evaluate(criteria, principal.getName());
50 } else {
51 return criteria;
52 }
53 }
54
55 public Object evaluate(ICriteria criteria, Object value) {
56 return criteria.addEq(getField(), value);
57 }
58 }