jodd-madvoc/src/main/java/jodd/madvoc/component/ActionMethodParser.java
public ActionRuntime parse(final Class<?> actionClass, final Method actionMethod, ActionDefinition actionDefinition) {
		final ActionAnnotationValues annotationValues = detectActionAnnotationValues(actionMethod);

		final ActionConfig actionConfig = resolveActionConfig(annotationValues);

		// interceptors
		ActionInterceptor[] actionInterceptors = parseActionInterceptors(actionClass, actionMethod, actionConfig);

		// filters
		ActionFilter[] actionFilters = parseActionFilters(actionClass, actionMethod, actionConfig);

		// build action definition when not provided
		if (actionDefinition == null) {
			actionDefinition = parseActionDefinition(actionClass, actionMethod);
		}

		detectAndRegisterAlias(annotationValues, actionDefinition);

		final boolean async = parseMethodAsyncFlag(actionMethod);

		final boolean auth = parseMethodAuthFlag(actionMethod);

		final Class<? extends ActionResult> actionResult = parseActionResult(actionMethod);
		final Class<? extends ActionResult> defaultActionResult = actionConfig.getActionResult();

		return createActionRuntime(
			null,
			actionClass,
			actionMethod,
			actionResult,
			defaultActionResult,
			actionFilters,
			actionInterceptors,
			actionDefinition,
			async,
			auth);
	}
public ActionRuntime parse(final Class<?> actionClass, final Method actionMethod, ActionDefinition actionDefinition) {
		final ActionAnnotationValues annotationValues = detectActionAnnotationValues(actionMethod);

		final ActionConfig actionConfig = resolveActionConfig(annotationValues);

		// interceptors
		ActionInterceptor[] actionInterceptors = parseActionInterceptors(actionClass, actionMethod, actionConfig);

		// filters
		ActionFilter[] actionFilters = parseActionFilters(actionClass, actionMethod, actionConfig);

		// build action definition when not provided
		if (actionDefinition == null) {
			actionDefinition = parseActionDefinition(actionClass, actionMethod);
		}

		detectAndRegisterAlias(annotationValues, actionDefinition);

		final boolean async = parseMethodAsyncFlag(actionMethod);

		final boolean auth = parseMethodAuthFlag(actionMethod);

		final Class<? extends ActionResult> actionResult = parseActionResult(actionMethod);
		final Class<? extends ActionResult> defaultActionResult = actionConfig.getActionResult();

		return createActionRuntime(
			null,
			actionClass,
			actionMethod,
			actionResult,
			defaultActionResult,
			actionFilters,
			actionInterceptors,
			actionDefinition,
			async,
			auth);
	}
public ActionRuntime parse ( final Class < ? > actionClass , final Method actionMethod , ActionDefinition actionDefinition ) { final ActionAnnotationValues annotationValues = detectActionAnnotationValues ( actionMethod ) ; final ActionConfig actionConfig = resolveActionConfig ( annotationValues ) ; // interceptors ActionInterceptor [ ] actionInterceptors = parseActionInterceptors ( actionClass , actionMethod , actionConfig ) ; // filters ActionFilter [ ] actionFilters = parseActionFilters ( actionClass , actionMethod , actionConfig ) ; // build action definition when not provided if ( actionDefinition == null ) { actionDefinition = parseActionDefinition ( actionClass , actionMethod ) ; } detectAndRegisterAlias ( annotationValues , actionDefinition ) ; final boolean async = parseMethodAsyncFlag ( actionMethod ) ; final boolean auth = parseMethodAuthFlag ( actionMethod ) ; final Class < ? extends ActionResult > actionResult = parseActionResult ( actionMethod ) ; final Class < ? extends ActionResult > defaultActionResult = actionConfig . getActionResult ( ) ; return createActionRuntime ( null , actionClass , actionMethod , actionResult , defaultActionResult , actionFilters , actionInterceptors , actionDefinition , async , auth ) ; }
Parses java action method annotation and returns its action runtime.

@param actionClass action class
@param actionMethod action method
@param actionDefinition optional action def, usually <code>null</code> so to be parsed
Parses java action method annotation and returns its action runtime .