Save This Page
Home » xwork-2.1.5 » com.opensymphony » xwork2 » [javadoc | source]
    1   /*
    2    * Copyright (c) 2002-2007 by OpenSymphony
    3    * All rights reserved.
    4    */
    5   package com.opensymphony.xwork2;
    6   
    7   import com.opensymphony.xwork2.inject.Container;
    8   import com.opensymphony.xwork2.inject.Inject;
    9   
   10   import java.util.Map;
   11   
   12   
   13   /**
   14    * Default factory for {@link com.opensymphony.xwork2.ActionProxyFactory}.
   15    *
   16    * @author Jason Carreira
   17    */
   18   public class DefaultActionProxyFactory implements ActionProxyFactory {
   19   
   20       protected Container container;
   21       
   22       public DefaultActionProxyFactory() {
   23           super();
   24       }
   25       
   26       @Inject
   27       public void setContainer(Container container) {
   28           this.container = container;
   29       }
   30       
   31       public ActionProxy createActionProxy(String namespace, String actionName, Map<String, Object> extraContext) {
   32           return createActionProxy(namespace, actionName, null, extraContext, true, true);
   33       }
   34   
   35       public ActionProxy createActionProxy(String namespace, String actionName, String methodName, Map<String, Object> extraContext) {
   36           return createActionProxy(namespace, actionName, methodName, extraContext, true, true);
   37       }
   38   
   39       public ActionProxy createActionProxy(String namespace, String actionName, Map<String, Object> extraContext, boolean executeResult, boolean cleanupContext) {
   40           return createActionProxy(namespace, actionName, null, extraContext, executeResult, cleanupContext);
   41       }
   42   
   43       public ActionProxy createActionProxy(String namespace, String actionName, String methodName, Map<String, Object> extraContext, boolean executeResult, boolean cleanupContext) {
   44           
   45           ActionInvocation inv = new DefaultActionInvocation(extraContext, true);
   46           container.inject(inv);
   47           return createActionProxy(inv, namespace, actionName, methodName, executeResult, cleanupContext);
   48       }
   49       
   50       public ActionProxy createActionProxy(ActionInvocation inv, String namespace, String actionName, boolean executeResult, boolean cleanupContext) {
   51           
   52           return createActionProxy(inv, namespace, actionName, null, executeResult, cleanupContext);
   53       }
   54   
   55       public ActionProxy createActionProxy(ActionInvocation inv, String namespace, String actionName, String methodName, boolean executeResult, boolean cleanupContext) {
   56   
   57           DefaultActionProxy proxy = new DefaultActionProxy(inv, namespace, actionName, methodName, executeResult, cleanupContext);
   58           container.inject(proxy);
   59           proxy.prepare();
   60           return proxy;
   61       }
   62   
   63   }

Save This Page
Home » xwork-2.1.5 » com.opensymphony » xwork2 » [javadoc | source]