1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.seasar.cubby.util;
17
18 import static org.seasar.cubby.CubbyConstants.ATTR_ACTION_CONTEXT;
19 import static org.seasar.cubby.internal.util.RequestUtils.getAttribute;
20
21 import java.lang.reflect.Method;
22 import java.util.Map;
23
24 import javax.servlet.ServletRequest;
25 import javax.servlet.http.HttpServletRequest;
26
27 import org.seasar.cubby.action.ActionContext;
28 import org.seasar.cubby.action.ActionErrors;
29 import org.seasar.cubby.action.ActionResult;
30 import org.seasar.cubby.internal.controller.ThreadContext;
31
32
33
34
35
36
37
38 public class ActionUtils {
39
40
41
42
43
44
45
46
47
48 public static ActionContext actionContext() {
49 final HttpServletRequest request = ThreadContext.getRequest();
50 return actionContext(request);
51 }
52
53
54
55
56
57
58
59
60
61
62
63 public static ActionContext actionContext(final ServletRequest request) {
64 final ActionContext actionContext = getAttribute(request,
65 ATTR_ACTION_CONTEXT);
66 return actionContext;
67 }
68
69
70
71
72
73
74 public static ActionErrors errors() {
75 return actionContext().getActionErrors();
76 }
77
78
79
80
81
82
83
84
85 public static ActionErrors errors(final ServletRequest request) {
86 return actionContext(request).getActionErrors();
87 }
88
89
90
91
92
93
94 public static Map<String, Object> flash() {
95 return actionContext().getFlashMap();
96 }
97
98
99
100
101
102
103
104
105 public static Map<String, Object> flash(final ServletRequest request) {
106 return actionContext(request).getFlashMap();
107 }
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125 public static boolean isActionMethod(final Method method) {
126 return ActionResult.class.isAssignableFrom(method.getReturnType())
127 && (method.getParameterTypes().length == 0);
128 }
129
130 }