/** * Get the value of the {@code value} member of the annotation. * * @param type The type * @param <T> The type * @throws IllegalStateException If no member is available that conforms to the given type * @return The result */ public @Nonnull final <T> T getRequiredValue(Class<T> type) { return getRequiredValue(AnnotationMetadata.VALUE_MEMBER, type); }
if (context.hasStereotype(HttpMethodMapping.class) && httpClient != null) { AnnotationValue<HttpMethodMapping> mapping = context.getAnnotation(HttpMethodMapping.class); String uri = mapping.getRequiredValue(String.class); if (StringUtils.isEmpty(uri)) { uri = "/" + context.getMethodName();
/** * @param targetMethod The target method * @param annotationMetadata The annotation metadata * @param transactionManagerName The transaction manager * @return The {@link TransactionAttribute} */ protected TransactionAttribute resolveTransactionAttribute( ExecutableMethod<Object, Object> targetMethod, AnnotationMetadata annotationMetadata, String transactionManagerName) { return transactionDefinitionMap.computeIfAbsent(targetMethod, method -> { AnnotationValue<Transactional> annotation = annotationMetadata.getAnnotation(Transactional.class); if (annotation == null) { throw new IllegalStateException("No declared @Transactional annotation present"); } BindableRuleBasedTransactionAttribute attribute = new BindableRuleBasedTransactionAttribute(); attribute.setReadOnly(annotation.getRequiredValue("readOnly", Boolean.class)); attribute.setTimeout(annotation.getRequiredValue("timeout", Integer.class)); //noinspection unchecked attribute.setRollbackFor(annotation.get("rollbackFor", Class[].class).orElse(ReflectionUtils.EMPTY_CLASS_ARRAY)); //noinspection unchecked attribute.setNoRollbackFor(annotation.get("noRollbackFor", Class[].class).orElse(ReflectionUtils.EMPTY_CLASS_ARRAY)); attribute.setPropagationBehavior(annotation.getRequiredValue("propagation", Propagation.class).value()); attribute.setIsolationLevel(annotation.getRequiredValue("isolation", Isolation.class).value()); attribute.setQualifier(transactionManagerName); return attribute; }); }
/** * @param targetMethod The target method * @param annotationMetadata The annotation metadata * @param transactionManagerName The transaction manager * @return The {@link TransactionAttribute} */ protected TransactionAttribute resolveTransactionAttribute( ExecutableMethod<Object, Object> targetMethod, AnnotationMetadata annotationMetadata, String transactionManagerName) { return transactionDefinitionMap.computeIfAbsent(targetMethod, method -> { AnnotationValue<Transactional> annotation = annotationMetadata.getAnnotation(Transactional.class); if (annotation == null) { throw new IllegalStateException("No declared @Transactional annotation present"); } BindableRuleBasedTransactionAttribute attribute = new BindableRuleBasedTransactionAttribute(); attribute.setReadOnly(annotation.getRequiredValue("readOnly", Boolean.class)); attribute.setTimeout(annotation.getRequiredValue("timeout", Integer.class)); //noinspection unchecked attribute.setRollbackFor(annotation.get("rollbackFor", Class[].class).orElse(ReflectionUtils.EMPTY_CLASS_ARRAY)); //noinspection unchecked attribute.setNoRollbackFor(annotation.get("noRollbackFor", Class[].class).orElse(ReflectionUtils.EMPTY_CLASS_ARRAY)); attribute.setPropagationBehavior(annotation.getRequiredValue("propagation", Propagation.class).value()); attribute.setIsolationLevel(annotation.getRequiredValue("isolation", Isolation.class).value()); attribute.setQualifier(transactionManagerName); return attribute; }); }
@Override public void visitMethod(MethodElement element, VisitorContext context) { if (skipValidation) { return; } AnnotationValue<HttpMethodMapping> mappingAnnotation = element.getAnnotation(HttpMethodMapping.class); if (mappingAnnotation != null) { String uri = mappingAnnotation.getRequiredValue(String.class); UriMatchTemplate template = UriMatchTemplate.of(resolver.resolveRequiredPlaceholders(uri)); RouteParameterElement[] parameters = Arrays.stream(element.getParameters()) .map(RouteParameterElement::new) .toArray(RouteParameterElement[]::new); for (RouteValidationRule rule: rules) { RouteValidationResult result = rule.validate(template, parameters); if (!result.isValid()) { for (String err: result.getErrorMessages()) { context.fail(err, element); } } } } }
httpMethodsHandlers.put(Get.class, (BeanDefinition bean, ExecutableMethod method) -> { AnnotationValue<HttpMethodMapping> mapping = method.getAnnotation(HttpMethodMapping.class); String uri = mapping.getRequiredValue(String.class); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null); Route route = GET(resolveUri(bean, uri, String uri = mapping.getRequiredValue(String.class); MediaType[] consumes = method.getValue(Consumes.class, MediaType[].class).orElse(null); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null); String uri = mapping.getRequiredValue(String.class); MediaType[] consumes = method.getValue(Consumes.class, MediaType[].class).orElse(null); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null); String uri = mapping.getRequiredValue(String.class); MediaType[] consumes = method.getValue(Consumes.class, MediaType[].class).orElse(null); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null); String uri = mapping.getRequiredValue(String.class); MediaType[] consumes = method.getValue(Consumes.class, MediaType[].class).orElse(null); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null); String uri = mapping.getRequiredValue(String.class); Route route = HEAD(resolveUri(bean, uri, method, String uri = mapping.getRequiredValue(String.class); MediaType[] consumes = method.getValue(Consumes.class, MediaType[].class).orElse(null); MediaType[] produces = method.getValue(Produces.class, MediaType[].class).orElse(null);
if (context.hasStereotype(HttpMethodMapping.class) && httpClient != null) { AnnotationValue<HttpMethodMapping> mapping = context.getAnnotation(HttpMethodMapping.class); String uri = mapping.getRequiredValue(String.class); if (StringUtils.isEmpty(uri)) { uri = "/" + context.getMethodName();
if (context.hasStereotype(HttpMethodMapping.class) && httpClient != null) { AnnotationValue<HttpMethodMapping> mapping = context.getAnnotation(HttpMethodMapping.class); String uri = mapping.getRequiredValue(String.class); if (StringUtils.isEmpty(uri)) { uri = "/" + context.getMethodName();
Object key = keyGenerator.generateKey(context, parameterValues); Argument returnArgument = returnTypeObject.asArgument(); if (cacheConfig.getRequiredValue(MEMBER_ATOMIC, Boolean.class)) { SyncCache syncCache = cacheManager.getCache(cacheOperation.cacheableCacheName);
boolean invalidateAll = cacheConfig.getRequiredValue(MEMBER_ALL, Boolean.class); Object key = null; String[] parameterNames = cacheConfig.get(MEMBER_PARAMETERS, String[].class, StringUtils.EMPTY_STRING_ARRAY);