|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.opensymphony.xwork2.ObjectFactory
public class ObjectFactory
ObjectFactory is responsible for building the core framework objects. Users may register their own implementation of the ObjectFactory to control instantiation of these Objects.
This default implementation uses thebuildBean
method to create all classes (interceptors, actions, results, etc).
To add lifecycle hook into an ObjectFactory
, either or both of the following interfaces
could be implemented by the ObjectFactory
itself.
org.apache.struts2.util.ObjectFactoryInitializable
ObjectFactoryDestroyable
FilterDispatcher
through Dispatcher
.
Nested Class Summary | |
---|---|
(package private) static class |
ObjectFactory.ContinuationsClassLoader
|
Field Summary | |
---|---|
private ClassLoader |
ccl
|
private Container |
container
|
private static Log |
LOG
|
private static ThreadLocal<ObjectFactory> |
thSelf
|
Constructor Summary | |
---|---|
ObjectFactory()
|
Method Summary | |
---|---|
Object |
buildAction(String actionName,
String namespace,
ActionConfig config,
Map extraContext)
Build an instance of the action class to handle a particular request (eg. web request) |
Object |
buildBean(Class clazz,
Map extraContext)
Build a generic Java object of the given type. |
Object |
buildBean(String className,
Map extraContext)
Build a generic Java object of the given type. |
Object |
buildBean(String className,
Map extraContext,
boolean injectInternal)
Build a generic Java object of the given type. |
Interceptor |
buildInterceptor(InterceptorConfig interceptorConfig,
Map interceptorRefParams)
Builds an Interceptor from the InterceptorConfig and the Map of parameters from the interceptor reference. |
Result |
buildResult(ResultConfig resultConfig,
Map extraContext)
Build a Result using the type in the ResultConfig and set the parameters in the ResultConfig. |
Validator |
buildValidator(String className,
Map params,
Map extraContext)
Build a Validator of the given type and set the parameters on it |
Class |
getClassInstance(String className)
Utility method to obtain the class matched to className. |
static ObjectFactory |
getObjectFactory()
|
protected Object |
injectInternalBeans(Object obj)
|
boolean |
isNoArgConstructorRequired()
Allows for ObjectFactory implementations that support Actions without no-arg constructors. |
void |
setClassLoader(ClassLoader cl)
|
void |
setContainer(Container container)
|
static void |
setObjectFactory(ObjectFactory factory)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Log LOG
private transient ClassLoader ccl
private static ThreadLocal<ObjectFactory> thSelf
private Container container
Constructor Detail |
---|
public ObjectFactory()
Method Detail |
---|
public void setClassLoader(ClassLoader cl)
public void setContainer(Container container)
public static void setObjectFactory(ObjectFactory factory)
public static ObjectFactory getObjectFactory()
public boolean isNoArgConstructorRequired()
public Class getClassInstance(String className) throws ClassNotFoundException
className
- The fully qualified name of the class to return
ClassNotFoundException
public Object buildAction(String actionName, String namespace, ActionConfig config, Map extraContext) throws Exception
actionName
- the name the action configuration is set up with in the configurationnamespace
- the namespace the action is configured inconfig
- the action configuration found in the config for the actionName / namespaceextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
public Object buildBean(Class clazz, Map extraContext) throws Exception
clazz
- the type of Object to buildextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
protected Object injectInternalBeans(Object obj)
obj
- public Object buildBean(String className, Map extraContext) throws Exception
className
- the type of Object to buildextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
public Object buildBean(String className, Map extraContext, boolean injectInternal) throws Exception
className
- the type of Object to buildextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
public Interceptor buildInterceptor(InterceptorConfig interceptorConfig, Map interceptorRefParams) throws ConfigurationException
interceptorConfig
- the InterceptorConfig from the configurationinterceptorRefParams
- a Map of params provided in the Interceptor reference in the
Action mapping or InterceptorStack definition
ConfigurationException
public Result buildResult(ResultConfig resultConfig, Map extraContext) throws Exception
resultConfig
- the ResultConfig found for the action with the result code returnedextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
public Validator buildValidator(String className, Map params, Map extraContext) throws Exception
className
- the type of Validator to buildparams
- property name -> value Map to set onto the Validator instanceextraContext
- a Map of extra context which uses the same keys as the ActionContext
Exception
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |