Example usage for org.springframework.core MethodParameter getParameterAnnotation

List of usage examples for org.springframework.core MethodParameter getParameterAnnotation

Introduction

In this page you can find the example usage for org.springframework.core MethodParameter getParameterAnnotation.

Prototype

@SuppressWarnings("unchecked")
@Nullable
public <A extends Annotation> A getParameterAnnotation(Class<A> annotationType) 

Source Link

Document

Return the parameter annotation of the given type, if available.

Usage

From source file:com.epam.ta.reportportal.ws.resolver.FilterCriteriaResolver.java

@SuppressWarnings("unchecked")
private <T> Filter resolveAsList(MethodParameter methodParameter, NativeWebRequest webRequest) {
    Class<T> domainModelType = (Class<T>) methodParameter.getParameterAnnotation(FilterFor.class).value();

    Set<FilterCondition> filterConditions = webRequest.getParameterMap().entrySet().stream()
            .filter(parameter -> parameter.getKey().startsWith(DEFAULT_FILTER_PREFIX)
                    && parameter.getValue().length > 0)
            .map(parameter -> {// w  ww  .  ja va 2s .  c om
                final String[] tokens = parameter.getKey().split("\\.");
                checkTokens(tokens);
                String stringCondition = tokens[1];
                boolean isNegative = stringCondition.startsWith(NOT_FILTER_MARKER);

                Condition condition = getCondition(
                        isNegative ? StringUtils.substringAfter(stringCondition, NOT_FILTER_MARKER)
                                : stringCondition);
                String criteria = tokens[2];
                return new FilterCondition(condition, isNegative, parameter.getValue()[0], criteria);

            }).collect(Collectors.toSet());
    return new Filter(domainModelType, filterConditions);
}

From source file:com.kingray.spring.mvc.method.annotation.RequestJsonParamMethodArgumentResolver.java

@Override
protected NamedValueInfo createNamedValueInfo(MethodParameter parameter) {
    RequestJsonParam annotation = parameter.getParameterAnnotation(RequestJsonParam.class);
    return new RequestJsonParamNamedValueInfo(annotation);
}

From source file:com.zhucode.web.quick.argresolver.ParaHandlerMethodArgumentResolver.java

@Override
public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
    Para p = parameter.getParameterAnnotation(Para.class);
    Object val = webRequest.getParameter(p.name());
    if (!p.required()) {
        if (val == null) {
            val = p.defaultValue();
        }//w  w w  .  j  av  a2  s.  c  o m
    }
    if (ValueConstants.DEFAULT_NONE.equals(val)) {
        return null;
    }
    try {
        return converter.convertIfNecessary(val, parameter.getParameterType());
    } catch (TypeMismatchException e) {
        throw new ParamErrorexception(p.name(), e.getMessage());
    }
}

From source file:com.epam.ta.reportportal.ws.resolver.FilterCriteriaResolver.java

/**
 * Returns TRUE only for {@link List} marked with {@link FilterFor}
 * annotations/*from w ww  .  j a v a 2 s.  c  om*/
 */
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
    return methodParameter.getParameterType().equals(Filter.class)
            && null != methodParameter.getParameterAnnotation(FilterFor.class);
}

From source file:org.focusns.common.web.widget.mvc.method.WidgetMethodArgumentResolver.java

private Object getWidgetPrefValue(MethodParameter methodParameter, NativeWebRequest webRequest) {
    WidgetPref widgetPreference = methodParameter.getParameterAnnotation(WidgetPref.class);
    if (widgetPreference != null) {
        WidgetConfig widgetConfig = (WidgetConfig) webRequest.getAttribute("widgetConfig",
                WebRequest.SCOPE_REQUEST);
        String widgetPreferenceName = getWidgetPreferenceName(methodParameter, widgetPreference);
        if (widgetConfig != null) {
            String defaultValue = widgetPreference.defaultValue();
            Object value = widgetConfig.getPreferences().get(widgetPreferenceName);
            if (StringUtils.hasText(defaultValue) && value == null) {
                value = defaultValue;//from w w  w  .j  a  v  a2 s. co m
            }
            //
            if (widgetPreference.required()) {
                Assert.notNull(value, String.format("Widget preference %s can not be null!", value));
            }
            //
            return value;
        }
    }
    //
    return null;
}

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

@Override
public Specification<?> resolveArgument(MethodParameter param, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

    Conjunction def = param.getParameterAnnotation(Conjunction.class);

    return buildSpecification(webRequest, def);
}

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

@Override
public Specification<?> resolveArgument(MethodParameter param, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {

    Disjunction def = param.getParameterAnnotation(Disjunction.class);

    return buildSpecification(webRequest, def);
}

From source file:cn.guoyukun.spring.jpa.web.bind.method.annotation.SearchableMethodArgumentResolver.java

private String getSearchPrefix(MethodParameter parameter) {
    Qualifier qualifier = parameter.getParameterAnnotation(Qualifier.class);

    if (qualifier != null) {
        return new StringBuilder(((Qualifier) qualifier).value()).append("_").append(prefix).toString();
    }// w w w .j  a v a 2s.  com

    return prefix;
}

From source file:com.kinglcc.spring.jms.core.Jackson2PayloadArgumentResolver.java

@Override
public Object resolveArgument(MethodParameter parameter, Message<?> message) throws Exception {
    Payload ann = parameter.getParameterAnnotation(Payload.class);
    if (ann != null && StringUtils.hasText(ann.value())) {
        throw new IllegalStateException("@Payload SpEL expressions not supported by this resolver");
    }/*from   www.j  a va  2 s . c  om*/

    Object payload = message.getPayload();
    boolean isGeneric = isGenericMessage(payload);
    if (isGeneric) {
        payload = ((GenericMessage) payload).getContent();
        MessageBuilder<Object> builder = MessageBuilder.withPayload(payload);
        message = builder.copyHeadersIfAbsent(message.getHeaders()).build();
    }
    if (isEmptyPayload(payload)) {
        if (ann == null || ann.required()) {
            bindEmptyPayloadError(parameter, message, payload);
        }
        return null;
    }

    if (isGeneric) {
        return convertFromMessage(parameter, message);
    } else {
        if (ClassUtils.isAssignable(parameter.getParameterType(), payload.getClass())) {
            validate(message, parameter, payload);
            return payload;
        }
        return convertFromMessage(parameter, message);
    }
}

From source file:org.sarons.spring4me.web.widget.bind.support.PrefParamMethodArgumentResolver.java

public Object resolveArgument(MethodParameter parameter, ModelAndViewContainer mavContainer,
        NativeWebRequest webRequest, WebDataBinderFactory binderFactory) throws Exception {
    PrefParam prefParam = parameter.getParameterAnnotation(PrefParam.class);
    String value = getValue(webRequest, parameter.getParameterName());
    if (value == null) {
        value = prefParam.value();/*  w  w w .  ja  v a 2 s .  co m*/
    }
    //
    Class<?> requiredType = parameter.getParameterType();
    if (conversionService.canConvert(String.class, requiredType)) {
        return conversionService.convert(value, TypeDescriptor.valueOf(String.class),
                TypeDescriptor.valueOf(requiredType));
    }
    //
    return null;
}