org.springframework.core.MethodParameter#hasParameterAnnotation ( )源码实例Demo

下面列出了org.springframework.core.MethodParameter#hasParameterAnnotation ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: mPass   文件: RequestBodyArgumentResolver.java
@SuppressWarnings("unchecked")
@Override
public boolean supportsParameter(MethodParameter parameter) {
    boolean supported = parameter.hasParameterAnnotation(RequestBody.class);
    if (!supported) {
        Method curMethod = (Method) parameter.getExecutable();
        Class<?> curClass = curMethod.getDeclaringClass();
        List<Class<?>> supperList =new ArrayList<>(Arrays.asList(curClass.getInterfaces()));
        Class superclass=curClass.getSuperclass();
        if(superclass!=null && !Object.class.equals(superclass) ){
            supperList.add(superclass);
        }
        for (Class<?> clazz : supperList) {
            if (hasRequestBodyAnnotation(clazz, parameter)) {
                supported = true;
                break;
            }
        }
    }
    return supported;
}
 
public static MethodParameter interfaceMethodParameter(MethodParameter parameter, Class annotationType) {
    if (!parameter.hasParameterAnnotation(annotationType)) {
        for (Class<?> itf : parameter.getDeclaringClass().getInterfaces()) {
            try {
                Method method =
                    itf.getMethod(parameter.getMethod().getName(), parameter.getMethod().getParameterTypes());
                MethodParameter itfParameter = new InterfaceMethodParameter(method, parameter.getParameterIndex());
                if (itfParameter.hasParameterAnnotation(annotationType)) {
                    return itfParameter;
                }
            } catch (NoSuchMethodException e) {
                continue;
            }
        }
    }
    return parameter;
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	if (!parameter.hasParameterAnnotation(MatrixVariable.class)) {
		return false;
	}
	if (Map.class.isAssignableFrom(parameter.nestedIfOptional().getNestedParameterType())) {
		MatrixVariable matrixVariable = parameter.getParameterAnnotation(MatrixVariable.class);
		return (matrixVariable != null && StringUtils.hasText(matrixVariable.name()));
	}
	return true;
}
 
源代码4 项目: lams   文件: ModelFactory.java
public ModelMethod(InvocableHandlerMethod handlerMethod) {
	this.handlerMethod = handlerMethod;
	for (MethodParameter parameter : handlerMethod.getMethodParameters()) {
		if (parameter.hasParameterAnnotation(ModelAttribute.class)) {
			this.dependencies.add(getNameForParameter(parameter));
		}
	}
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return (!Message.class.isAssignableFrom(parameter.getParameterType())
			&& !MessageHeaders.class.isAssignableFrom(parameter.getParameterType())
			&& !parameter.hasParameterAnnotation(Header.class)
			&& !parameter.hasParameterAnnotation(Headers.class));
}
 
源代码6 项目: spring-analysis-note   文件: ModelFactory.java
public ModelMethod(InvocableHandlerMethod handlerMethod) {
	this.handlerMethod = handlerMethod;
	for (MethodParameter parameter : handlerMethod.getMethodParameters()) {
		if (parameter.hasParameterAnnotation(ModelAttribute.class)) {
			this.dependencies.add(getNameForParameter(parameter));
		}
	}
}
 
源代码7 项目: lams   文件: RequestPartMethodArgumentResolver.java
/**
 * Supports the following:
 * <ul>
 * <li>annotated with {@code @RequestPart}
 * <li>of type {@link MultipartFile} unless annotated with {@code @RequestParam}
 * <li>of type {@code javax.servlet.http.Part} unless annotated with {@code @RequestParam}
 * </ul>
 */
@Override
public boolean supportsParameter(MethodParameter parameter) {
	if (parameter.hasParameterAnnotation(RequestPart.class)) {
		return true;
	}
	else {
		if (parameter.hasParameterAnnotation(RequestParam.class)) {
			return false;
		}
		return MultipartResolutionDelegate.isMultipartArgument(parameter.nestedIfOptional());
	}
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	if (!parameter.hasParameterAnnotation(MatrixVariable.class)) {
		return false;
	}
	if (Map.class.isAssignableFrom(parameter.nestedIfOptional().getNestedParameterType())) {
		MatrixVariable matrixVariable = parameter.getParameterAnnotation(MatrixVariable.class);
		return (matrixVariable != null && StringUtils.hasText(matrixVariable.name()));
	}
	return true;
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
    return parameter.getParameterType().isAssignableFrom(Integer.class) && parameter.hasParameterAnnotation(LoginUser.class);
}
 
源代码10 项目: onetwo   文件: WebAttributeArgumentResolver.java
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return parameter.hasParameterAnnotation(WebAttribute.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return parameter.hasParameterAnnotation(CookieValue.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return parameter.hasParameterAnnotation(SessionAttribute.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
    return parameter.hasParameterAnnotation(PathVariable.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
    return parameter.hasParameterAnnotation(RequestParam.class);
}
 
源代码15 项目: Milkomeda   文件: CometParamResolver.java
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
    return methodParameter.hasParameterAnnotation(CometParam.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return (parameter.hasParameterAnnotation(RequestHeader.class) &&
			!Map.class.isAssignableFrom(parameter.getParameterType()));
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
    return parameter.getParameterType().isAssignableFrom(Integer.class) && parameter.hasParameterAnnotation(LoginUser.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return (parameter.hasParameterAnnotation(RequestPart.class) ||
			checkParameterType(parameter, Part.class::isAssignableFrom));
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
    return parameter.hasParameterAnnotation(JwtClaim.class);
}
 
@Override
public boolean supportsParameter(MethodParameter parameter) {
	return parameter.hasParameterAnnotation(RequestBody.class);
}