com.bastengao.struts2.freeroute
类 ControllerPackageProvider

java.lang.Object
  继承者 com.bastengao.struts2.freeroute.ControllerPackageProvider
所有已实现的接口:
com.opensymphony.xwork2.config.PackageProvider
直接已知子类:
SpringPackageProvider

public class ControllerPackageProvider
extends Object
implements com.opensymphony.xwork2.config.PackageProvider

对 controller 进行扫描,并对其进行配置(PackageConfig, ActionConfig)

从以下版本开始:
1.0
作者:
bastengao

字段摘要
private  com.opensymphony.xwork2.config.Configuration configuration
           
private  String controllerPackage
           
private  Set<String> controllerSuffixes
           
private  String defaultParentPackage
           
static String FREEROUTE_DEFAULT
           
private  boolean hasSpringPlugin
           
private static org.slf4j.Logger log
           
private  RouteMappingHandler routeMappingHandler
           
 
构造方法摘要
ControllerPackageProvider()
           
 
方法摘要
private  com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageCfgBuilder, ActionInfo actionInfo, RouteMapping routeMapping)
           
private  com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageConfigBuilder, String className, String actionName)
           
protected  com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageConfigBuilder, String className, String methodName, String actionName)
           
private  Map<String,com.opensymphony.xwork2.config.entities.PackageConfig.Builder> createPackageConfig()
           
private  com.opensymphony.xwork2.config.entities.PackageConfig defaultParentPackage()
          默认父包
static Set<com.google.common.reflect.ClassPath.ClassInfo> findControllers(String controllerPackage, Set<String> controllerSuffixes)
          在指定的包下查找带有指定后缀的 class
private  com.opensymphony.xwork2.config.entities.PackageConfig.Builder findOrCreatePackage(String namespace, Map<String,com.opensymphony.xwork2.config.entities.PackageConfig.Builder> packages)
          查找 Package,如果不存在则创建
 void init(com.opensymphony.xwork2.config.Configuration configuration)
           
 void loadPackages()
           
 boolean needsReload()
           
static List<RouteMapping> parseController(Class controller)
          解析 Controller 并返回路由信息
private  void setControllerPackage(String controllerPackage)
           
private  void setControllerSuffixes(String controllerSuffixes)
           
private  void setDefaultParentPackage(String defaultParentPackage)
           
private  void setRouteMappingHandler(RouteMappingHandler routeMappingHandler)
           
private  void setStrutsSpringObjectFactory(com.opensymphony.xwork2.ObjectFactory objectFactory)
          注意,如果不存在 struts2-spring-plugin 那么此方法不会被调用
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

log

private static final org.slf4j.Logger log

FREEROUTE_DEFAULT

public static final String FREEROUTE_DEFAULT
另请参见:
常量字段值

configuration

private com.opensymphony.xwork2.config.Configuration configuration

routeMappingHandler

private RouteMappingHandler routeMappingHandler

controllerPackage

private String controllerPackage

controllerSuffixes

private Set<String> controllerSuffixes

defaultParentPackage

private String defaultParentPackage

hasSpringPlugin

private boolean hasSpringPlugin
构造方法详细信息

ControllerPackageProvider

public ControllerPackageProvider()
方法详细信息

setRouteMappingHandler

private void setRouteMappingHandler(RouteMappingHandler routeMappingHandler)

setControllerPackage

private void setControllerPackage(String controllerPackage)

setControllerSuffixes

private void setControllerSuffixes(String controllerSuffixes)

setDefaultParentPackage

private void setDefaultParentPackage(String defaultParentPackage)

setStrutsSpringObjectFactory

private void setStrutsSpringObjectFactory(com.opensymphony.xwork2.ObjectFactory objectFactory)
注意,如果不存在 struts2-spring-plugin 那么此方法不会被调用

参数:
objectFactory -

init

public void init(com.opensymphony.xwork2.config.Configuration configuration)
          throws com.opensymphony.xwork2.config.ConfigurationException
指定者:
接口 com.opensymphony.xwork2.config.PackageProvider 中的 init
抛出:
com.opensymphony.xwork2.config.ConfigurationException

needsReload

public boolean needsReload()
指定者:
接口 com.opensymphony.xwork2.config.PackageProvider 中的 needsReload

loadPackages

public void loadPackages()
                  throws com.opensymphony.xwork2.config.ConfigurationException
指定者:
接口 com.opensymphony.xwork2.config.PackageProvider 中的 loadPackages
抛出:
com.opensymphony.xwork2.config.ConfigurationException

createPackageConfig

private Map<String,com.opensymphony.xwork2.config.entities.PackageConfig.Builder> createPackageConfig()

defaultParentPackage

private com.opensymphony.xwork2.config.entities.PackageConfig defaultParentPackage()
默认父包

返回:

findOrCreatePackage

private com.opensymphony.xwork2.config.entities.PackageConfig.Builder findOrCreatePackage(String namespace,
                                                                                          Map<String,com.opensymphony.xwork2.config.entities.PackageConfig.Builder> packages)
查找 Package,如果不存在则创建

参数:
namespace -
packages -
返回:

createActionConfig

private com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageCfgBuilder,
                                                                                ActionInfo actionInfo,
                                                                                RouteMapping routeMapping)

createActionConfig

private com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageConfigBuilder,
                                                                                String className,
                                                                                String actionName)

createActionConfig

protected com.opensymphony.xwork2.config.entities.ActionConfig createActionConfig(com.opensymphony.xwork2.config.entities.PackageConfig.Builder packageConfigBuilder,
                                                                                  String className,
                                                                                  String methodName,
                                                                                  String actionName)

findControllers

public static Set<com.google.common.reflect.ClassPath.ClassInfo> findControllers(String controllerPackage,
                                                                                 Set<String> controllerSuffixes)
                                                                          throws IOException
在指定的包下查找带有指定后缀的 class

参数:
controllerPackage -
controllerSuffixes -
返回:
抛出:
IOException

parseController

public static List<RouteMapping> parseController(Class controller)
解析 Controller 并返回路由信息

参数:
controller -
返回:


Copyright © 2013 bastengao. All Rights Reserved.