1 package siouxsie.mvc.impl;
2
3 import siouxsie.mvc.IInitializerContainer;
4
5 import com.opensymphony.xwork2.ActionInvocation;
6 import com.opensymphony.xwork2.inject.Inject;
7 import com.opensymphony.xwork2.interceptor.Interceptor;
8
9 /**
10 * Interceptor that initialize action using a initializer container.
11 * @author Arnaud Cogoluegnes
12 * @version $Id$
13 */
14 public class InitializerInterceptor implements Interceptor {
15
16 @Inject
17 private IInitializerContainer initializerContainer;
18
19 /**
20 *
21 */
22 private static final long serialVersionUID = 8593822173241908240L;
23
24 public void destroy() {
25
26
27 }
28
29 public void init() {
30
31
32 }
33
34 public String intercept(ActionInvocation actionInvocation) throws Exception {
35 getInitializerContainer().initializeAction(
36 actionInvocation.getAction()
37 );
38 return actionInvocation.invoke();
39 }
40
41 public IInitializerContainer getInitializerContainer() {
42 return initializerContainer;
43 }
44
45 public void setInitializerContainer(IInitializerContainer initializerContainer) {
46 this.initializerContainer = initializerContainer;
47 }
48
49 }