Example usage for org.springframework.web.method.support HandlerMethodArgumentResolver supportsParameter

List of usage examples for org.springframework.web.method.support HandlerMethodArgumentResolver supportsParameter

Introduction

In this page you can find the example usage for org.springframework.web.method.support HandlerMethodArgumentResolver supportsParameter.

Prototype

boolean supportsParameter(MethodParameter parameter);

Source Link

Document

Whether the given MethodParameter method parameter is supported by this resolver.

Usage

From source file:net.kaczmarzyk.spring.data.jpa.web.SpecificationArgumentResolver.java

@Override
public boolean supportsParameter(MethodParameter param) {
    for (HandlerMethodArgumentResolver delegate : delegates) {
        if (delegate.supportsParameter(param)) {
            return true;
        }// ww  w. j  av  a2 s  . c  om
    }
    return false;
}

From source file:net.kaczmarzyk.spring.data.jpa.web.SpecificationArgumentResolver.java

Object resolveArgument(MethodParameter param, ModelAndViewContainer mav, NativeWebRequest req,
        WebDataBinderFactory bider, HandlerMethodArgumentResolver recursiveCaller) throws Exception {

    for (HandlerMethodArgumentResolver delegate : delegates) {
        if (delegate != recursiveCaller && delegate.supportsParameter(param)) {
            return delegate.resolveArgument(param, mav, req, bider);
        }//from   w w  w  .  j a  v a  2 s.  c o  m
    }

    return null;
}

From source file:org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.java

/**
 * Find a registered {@link HandlerMethodArgumentResolver} that supports the given method parameter.
 *///from   w  w w .jav a  2s  .c om
@Nullable
private HandlerMethodArgumentResolver getArgumentResolver(MethodParameter parameter) {
    HandlerMethodArgumentResolver result = this.argumentResolverCache.get(parameter);
    if (result == null) {
        for (HandlerMethodArgumentResolver methodArgumentResolver : this.argumentResolvers) {
            if (logger.isTraceEnabled()) {
                logger.trace("Testing if argument resolver [" + methodArgumentResolver + "] supports ["
                        + parameter.getGenericParameterType() + "]");
            }
            if (methodArgumentResolver.supportsParameter(parameter)) {
                result = methodArgumentResolver;
                this.argumentResolverCache.put(parameter, result);
                break;
            }
        }
    }
    return result;
}