List of usage examples for org.springframework.core MethodParameter getParameterAnnotation
@SuppressWarnings("unchecked") @Nullable public <A extends Annotation> A getParameterAnnotation(Class<A> annotationType)
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; }