...
To register a customized ObjectFactory, add or edit an entry in struts.properties
Code Block |
---|
struts.objectFactory=foo.bar.MyCustomObjectFactory
|
where foo.bar.MyCustomObjectFactory is the custom object factory.
Code Block |
---|
public class MyObjectFactory extends ObjectFactory {
.....
}
|
Define dedicated
...
factory
If you want to just extend one part of ObjectFactory, ie. to change how Result Types are build, you can implement ResultBuilder
ResultFactory
interface below and register it with dedicated name, see Extension Points for more details. Original ObjectFactory will use these dedicated factories to do the work. All these builders It's already done this way - the original functionality of ObjectFactory was extracted to separated classes which implements the interfaces below. Check the source of ObjectFactory to see more details. All these factories are available as from version 2.3.16.
List of Builder Factory interfaces:
...
ResultFactory
- dedicated interfaces used by ObjectFactory to
...
- create Result Types
...
StrutsResultFactory
it's internal implementation which checks if Result implementsParamNameAwareResult
interface to restrict names of parameters set on the instance of Result, see Result Types for more info.
ActionFactory
- dedicated interface used by ObjectFactory to actionsInterceptorFactory
- dedicated interface used by ObjectFactory to create interceptorsValidatorFactory
- dedicated interface used by ObjectFactory to create validatorsConverterFactory
- dedicated interface used by ObjectFactory to create instances of TypeConverterUnknownHandlerFactory
- dedicated interfaces used by ObjectFactory to create instances of Unknown Handlers (as from version 2.3.18)