Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.opensymphony.xwork2.interceptor
Class PrefixMethodInvocationUtil

    java.lang.Object
      com.opensymphony.xwork2.interceptor.PrefixMethodInvocationUtil

    public class PrefixMethodInvocationUtil

extends java.lang.Object

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 `Validateable`

1. if the action class have validate{MethodName}(), it will be invoked
2. else if the action class have validateDo{MethodName}(), it will be invoked
3. 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

1. if the action class have prepare{MethodName}(), it will be invoked
2. else if the action class have prepareDo(MethodName()}(), it will be invoked
3. 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, tm_jee

Constructor Summary
`PrefixMethodInvocationUtil()`

Method Summary
`static java.lang.String` | `capitalizeMethodName(java.lang.String methodName)` This method capitalized the first character of `methodName`.
`static java.lang.reflect.Method` | `getPrefixedMethod(java.lang.String[] prefixes, java.lang.String methodName, java.lang.Object action)` This method returns a `Method` in `action`.
`static void` | `invokePrefixMethod(ActionInvocation actionInvocation, java.lang.String[] prefixes)` This method will prefix `actionInvocation`'s `ActionProxy`'s `method` with `prefixes` before invoking the prefixed method.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PrefixMethodInvocationUtil

    public PrefixMethodInvocationUtil()

Method Detail

### invokePrefixMethod

    public static void invokePrefixMethod(ActionInvocation actionInvocation,
                                          java.lang.String[] prefixes)
                                   throws java.lang.reflect.InvocationTargetException,
                                          java.lang.IllegalAccessException

  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:-
  1. prepareSubmit()
  2. 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` - the action invocation
    `prefixes` - prefixes for method names
  Throws:
    `java.lang.reflect.InvocationTargetException` - is thrown if invocation of a method failed.
    `java.lang.IllegalAccessException` - is thrown if invocation of a method failed.

### getPrefixedMethod

    public static java.lang.reflect.Method getPrefixedMethod(java.lang.String[] prefixes,
                                                             java.lang.String methodName,
                                                             java.lang.Object action)

  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`
    `methodName` - the method name to be prefixed with `prefixes`
    `action` - the action class of which the prefixed method is to be search for.
  Returns:
    a `Method` if one is found, else `null`.

### capitalizeMethodName

    public static java.lang.String capitalizeMethodName(java.lang.String methodName)

  This method capitalized the first character of `methodName`.
  eg. `capitalizeMethodName("someMethod");` will return `"SomeMethod"`.

  Parameters:
    `methodName` - the method name
  Returns:
    capitalized method name

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.