package com.wecloud.netty.dispatch.extend;

import com.wecloud.netty.dispatch.ActionContext;
import org.springframework.core.MethodParameter;

/**
 * @author lixiaozhong
 */
public interface MethodArgumentResolver {

	/**
	 *
	 * 是否支持<br>
	 *
	 * @param parameter
	 * @return
	 */
	boolean supportsParameter(MethodParameter parameter);

	/**
	 *
	 * 解析参数<br>
	 *
	 * @param actionContext
	 * @param parameter
	 * @param request
	 * @param argumentBox
	 * @return
	 */
	Object resolveArgument(ActionContext actionContext, MethodParameter parameter, ActionRequest request, ArgumentBox argumentBox);
}
