| java.lang.Object com.opensymphony.xwork.interceptor.PrefixMethodInvocationUtil
PrefixMethodInvocationUtil | public class PrefixMethodInvocationUtil (Code) | | A utility class for invoking prefixed methods in action class.
Interceptors that made use of this class are
- DefaultWorkflowInterceptor
- PrepareInterceptor
In DefaultWorkflowInterceptor
applies only when action implements
com.opensymphony.xwork.Validateable
- if the action class have validate{MethodName}(), it will be invoked
- else if the action class have validateDo{MethodName}(), it will be invoked
- no matter if 1] or 2] is performed, if alwaysInvokeValidate property of the interceptor is "true" (which is by default "true"), validate() will be invoked.
In PrepareInterceptor
Applies only when action implements Preparable
- if the action class have prepare{MethodName}(), it will be invoked
- else if the action class have prepareDo(MethodName()}(), it will be invoked
- no matter if 1] or 2] is performed, if alwaysinvokePrepare property of the interceptor is "true" (which is by default "true"), prepare() will be invoked.
author: Philip Luppens author: tm_jee version: $Date: 2006-07-03 19:11:57 +0200 (Mo, 03 Jul 2006) $ $Id: PrefixMethodInvocationUtil.java 1054 2006-07-03 17:11:57Z tmjee $ |
Method Summary | |
public static String | capitalizeMethodName(String methodName) This method capitalized the first character of methodName . | public static Method | getPrefixedMethod(String[] prefixes, String methodName, Object action) This method returns a
Method in action . | public static void | invokePrefixMethod(ActionInvocation actionInvocation, String[] prefixes) This method will prefix actionInvocation 's ActionProxy 's
method with prefixes before invoking the prefixed method.
Order of the prefixes is important, as this method will return once
a prefixed method is found in the action class.
For example, with
invokePrefixMethod(actionInvocation, new String[] { "prepare", "prepareDo" });
Assuming actionInvocation.getProxy(),getMethod() returns "submit",
the order of invocation would be as follows:-
- prepareSubmit()
- prepareDoSubmit()
If prepareSubmit() exists, it will be invoked and this method
will return, prepareDoSubmit() will NOT be invoked. |
capitalizeMethodName | public static String capitalizeMethodName(String methodName)(Code) | | This method capitalized the first character of methodName .
eg.
capitalizeMethodName("someMethod");
will return "SomeMethod".
Parameters: methodName - |
getPrefixedMethod | public static Method getPrefixedMethod(String[] prefixes, String methodName, Object action)(Code) | | This method returns a
Method in action . The method
returned is found by searching for method in action whose method name
is equals to the result of appending each prefixes
to methodName . Only the first method found will be returned, hence
the order of prefixes is important. If none is found this method
will return null.
Parameters: prefixes - the prefixes to prefix the methodName Parameters: methodName - the method name to be prefixed with prefixes Parameters: action - the action class of which the prefixed method is to be search for. a Method if one is found, else null. |
invokePrefixMethod | public static void invokePrefixMethod(ActionInvocation actionInvocation, String[] prefixes) throws InvocationTargetException, IllegalAccessException(Code) | | This method will prefix actionInvocation 's ActionProxy 's
method with prefixes before invoking the prefixed method.
Order of the prefixes is important, as this method will return once
a prefixed method is found in the action class.
For example, with
invokePrefixMethod(actionInvocation, new String[] { "prepare", "prepareDo" });
Assuming actionInvocation.getProxy(),getMethod() returns "submit",
the order of invocation would be as follows:-
- prepareSubmit()
- prepareDoSubmit()
If prepareSubmit() exists, it will be invoked and this method
will return, prepareDoSubmit() will NOT be invoked.
On the other hand, if prepareDoSubmit() does not exists, and
prepareDoSubmit() exists, it will be invoked.
If none of those two methods exists, nothing will be invoked.
Parameters: actionInvocation - Parameters: prefixes - throws: InvocationTargetException - throws: IllegalAccessException - |
|
|