1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts.config;
22
23 import org.apache.struts.action.ActionForm;
24 import org.apache.struts.action.ActionFormBean;
25 import org.apache.struts.action.ActionForward;
26 import org.apache.struts.action.ActionMapping;
27 import org.apache.struts.action.ActionMessages;
28 import org.apache.struts.upload.MultipartRequestWrapper;
29 import org.apache.struts.util.MessageResources;
30
31 /**
32 * <p> NOTE: THIS CLASS IS UNDER ACTIVE DEVELOPMENT. THE CURRENT CODE IS
33 * WRITTEN FOR CLARITY NOT EFFICIENCY. NOT EVERY API FUNCTION HAS BEEN
34 * IMPLEMENTED YET. </p><p> A helper object to expose the Struts shared
35 * resources, which are be stored in the application, session, or request
36 * contexts, as appropriate. </p><p> An instance should be created for each
37 * request processed. The methods which return resources from the request or
38 * session contexts are not thread-safe. </p><p> Provided for use by other
39 * servlets in the application so they can easily access the Struts shared
40 * resources. </p><p> The resources are stored under attributes in the
41 * application, session, or request contexts. </p><p> The ActionConfig methods
42 * simply return the resources from under the context and key used by the
43 * Struts ActionServlet when the resources are created. </p>
44 *
45 * @version $Rev: 471754 $ $Date: 2005-05-07 12:11:38 -0400 (Sat, 07 May 2005)
46 * $
47 * @since Struts 1.1
48 */
49 public interface ConfigHelperInterface {
50
51
52 /**
53 * <p> The <code>org.apache.struts.action.ActionFormBeans</code>
54 * collection for this application. </p>
55 */
56 public ActionMessages getActionMessages();
57
58 /**
59 * <p> The application resources for this application. </p>
60 */
61 public MessageResources getMessageResources();
62
63 /**
64 * <p> The path-mapped pattern (<code>/action/*</code>) or extension
65 * mapped pattern ((<code>*.do</code>) used to determine our Action URIs
66 * in this application. </p>
67 */
68 public String getServletMapping();
69
70
71
72 /**
73 * <p> The transaction token stored in this session, if it is used. </p>
74 */
75 public String getToken();
76
77
78
79 /**
80 * <p> The runtime JspException that may be been thrown by a Struts tag
81 * extension, or compatible presentation extension, and placed in the
82 * request. </p>
83 */
84 public Throwable getException();
85
86 /**
87 * <p> The multipart object for this request. </p>
88 */
89 public MultipartRequestWrapper getMultipartRequestWrapper();
90
91 /**
92 * <p> The <code>org.apache.struts.ActionMapping</code> instance for this
93 * request. </p>
94 */
95 public ActionMapping getMapping();
96
97
98
99 /**
100 * <p> Return true if a message string for the specified message key is
101 * present for the user's Locale. </p>
102 *
103 * @param key Message key
104 */
105 public boolean isMessage(String key);
106
107 /**
108 * <p> Retrieve and return the <code>ActionForm</code> bean associated
109 * with this mapping, creating and stashing one if necessary. If there is
110 * no form bean associated with this mapping, return <code>null</code>.
111 * </p>
112 */
113 public ActionForm getActionForm();
114
115 /**
116 * <p> Return the form bean definition associated with the specified
117 * logical name, if any; otherwise return <code>null</code>. </p>
118 *
119 * @param name Logical name of the requested form bean definition
120 */
121 public ActionFormBean getFormBean(String name);
122
123 /**
124 * <p> Return the forwarding associated with the specified logical name,
125 * if any; otherwise return <code>null</code>. </p>
126 *
127 * @param name Logical name of the requested forwarding
128 */
129 public ActionForward getActionForward(String name);
130
131 /**
132 * <p> Return the mapping associated with the specified request path, if
133 * any; otherwise return <code>null</code>. </p>
134 *
135 * @param path Request path for which a mapping is requested
136 */
137 public ActionMapping getActionMapping(String path);
138
139 /**
140 * <p> Return the form action converted into an action mapping path. The
141 * value of the <code>action</code> property is manipulated as follows in
142 * computing the name of the requested mapping:
143 *
144 * <ul>
145 *
146 * <li>Any filename extension is removed (on the theory that extension
147 * mapping is being used to select the controller servlet).</li>
148 *
149 * <li>If the resulting value does not start with a slash, then a slash is
150 * prepended.</li>
151 *
152 * </ul> <p> :FIXME: Bad assumption =:o) </p>
153 */
154 public String getActionMappingName(String action);
155
156 /**
157 * <p> Return the form action converted into a server-relative URL. </p>
158 */
159 public String getActionMappingURL(String action);
160
161 /**
162 * <p> Return the url encoded to maintain the user session, if any. </p>
163 */
164 public String getEncodeURL(String url);
165
166
167
168 /**
169 * <p> Renders the reference for a HTML <base> element </p>
170 */
171 public String getOrigRef();
172
173 /**
174 * <p> Renders the reference for a HTML <base> element </p>
175 */
176 public String getBaseRef();
177
178 /**
179 * <p> Return the path for the specified forward, otherwise return
180 * <code>null</code>. </p>
181 *
182 * @param name Name given to local or global forward.
183 */
184 public String getLink(String name);
185
186 /**
187 * <p> Return the localized message for the specified key, otherwise
188 * return <code>null</code>. </p>
189 *
190 * @param key Message key
191 */
192 public String getMessage(String key);
193
194 /**
195 * <p> Look up and return a message string, based on the specified
196 * parameters. </p>
197 *
198 * @param key Message key to be looked up and returned
199 * @param args Replacement parameters for this message
200 */
201 public String getMessage(String key, Object[] args);
202
203 /**
204 * <p> Return the URL for the specified ActionMapping, otherwise return
205 * <code>null</code>. </p>
206 *
207 * @param path Name given to local or global forward.
208 */
209 public String getAction(String path);
210 }