private void checkResourceClassSetters(final MethodList methodList, final boolean encodedFlag) { for (AnnotatedMethod method : methodList .withoutMetaAnnotation(HttpMethod.class) .withoutAnnotation(Path.class) .hasNumParams(1) .hasReturnType(void.class) .nameStartsWith("set")) { Parameter p = Parameter.create( handlerClass, method.getMethod().getDeclaringClass(), encodedFlag || method.isAnnotationPresent(Encoded.class), method.getParameterTypes()[0], method.getGenericParameterTypes()[0], method.getAnnotations()); if (null != p) { ResourceMethodValidator.validateParameter( p, method.getMethod(), method.getMethod().toGenericString(), "1", InvocableValidator.isSingleton(handlerClass)); } } }
@Override public void visitResourceHandlerConstructor(final HandlerConstructor constructor) { Class<?> resClass = constructor.getConstructor().getDeclaringClass(); boolean isSingleton = isSingleton(resClass); int paramCount = 0; for (Parameter p : constructor.getParameters()) { ResourceMethodValidator.validateParameter( p, constructor.getConstructor(), constructor.getConstructor().toGenericString(), Integer.toString(++paramCount), isSingleton); } }
private void checkResourceClassFields(final boolean encodedFlag, boolean isInSingleton) { for (Field field : AccessController.doPrivileged(ReflectionHelper.getDeclaredFieldsPA(handlerClass))) { if (field.getDeclaredAnnotations().length > 0) { Parameter p = Parameter.create( handlerClass, field.getDeclaringClass(), encodedFlag || field.isAnnotationPresent(Encoded.class), field.getType(), field.getGenericType(), field.getAnnotations()); if (null != p) { ResourceMethodValidator.validateParameter( p, field, field.toGenericString(), field.getName(), isInSingleton); } } } }