/** * Get the value of default "value" the given annotation. * * @param annotation The annotation class * @param requiredType The required type * @param <T> The value * @return An {@link Optional} of the value */ default @Nonnull <T> Optional<T> getValue(@Nonnull String annotation, @Nonnull Class<T> requiredType) { return getValue(annotation, VALUE_MEMBER, requiredType); }
/** * Get the value of default "value" the given annotation. * * @param annotation The annotation class * @return An {@link Optional} of the value */ default @Nonnull Optional<Object> getValue(@Nonnull Class<? extends Annotation> annotation) { ArgumentUtils.requireNonNull("annotation", annotation); return getValue(annotation, AnnotationMetadata.VALUE_MEMBER, Object.class); }
@Override default @Nonnull Optional<Object> getValue(@Nonnull String annotation) { return getAnnotationMetadata().getValue(annotation); }
/** * Get the value of default "value" the given annotation. * * @param annotation The annotation class * @return An {@link Optional} of the value */ default @Nonnull Optional<Object> getValue(@Nonnull String annotation) { ArgumentUtils.requireNonNull("annotation", annotation); return getValue(annotation, Object.class); }
@Override default @Nonnull <T> Optional<T> getValue(@Nonnull String annotation, @Nonnull Class<T> requiredType) { return getAnnotationMetadata().getValue(annotation, requiredType); }
@Override default @Nonnull <T> Optional<T> getValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull Class<T> requiredType) { return getAnnotationMetadata().getValue(annotation, requiredType); }
/** * Returns whether the value of the given member is <em>true</em>. * * @param annotation The annotation class * @param member The annotation member * @return True if the value is true */ default boolean isTrue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); return getValue(annotation.getName(), member, Boolean.class).orElse(false); }
/** * Get the value of the given annotation member. * * @param annotation The annotation class * @param member The annotation member * @return An {@link Optional} of the value */ default @Nonnull Optional<Object> getValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); return getValue(annotation, member, Object.class); }
/** * Returns whether the value of the given member is <em>true</em>. * * @param annotation The annotation class * @param member The annotation member * @return True if the value is true */ default boolean isTrue(@Nonnull String annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); return getValue(annotation, member, Boolean.class).orElse(false); }
/** * The value as an {@link OptionalDouble} for the given annotation and member. * * @param annotation The annotation * @param member The member * @return THe {@link OptionalDouble} value */ default @Nonnull OptionalDouble doubleValue(@Nonnull String annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); Optional<Double> result = getValue(annotation, member, Double.class); return result.map(OptionalDouble::of).orElseGet(OptionalDouble::empty); }
/** * Get the value of the given annotation member. * * @param annotation The annotation class * @param member The annotation member * @return An {@link Optional} of the value */ default @Nonnull Optional<Object> getValue(@Nonnull String annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); return getValue(annotation, member, Object.class); }
/** * Get the value of the given annotation member. * * @param annotation The annotation class * @param member The annotation member * @param requiredType The required type * @param <T> The value * @return An {@link Optional} of the value */ default @Nonnull <T> Optional<T> getValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Class<T> requiredType) { ArgumentUtils.requireNonNull("requiredType", requiredType); return getValue(annotation, member, Argument.of(requiredType)); }
/** * The value of the annotation as a Class. * * @param annotation The annotation * @param member The annotation member * @return An {@link Optional} class */ default @Nonnull Optional<Class> classValue(@Nonnull String annotation, @Nonnull String member) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); return getValue(annotation, member, Class.class); }
/** * Get the value of default "value" the given annotation. * * @param annotation The annotation class * @param requiredType requiredType * @param <T> Generic type * @return An {@link Optional} of the value */ default @Nonnull <T> Optional<T> getValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull Argument<T> requiredType) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("requiredType", requiredType); return getValue(annotation, AnnotationMetadata.VALUE_MEMBER, requiredType); }
private MutableHttpResponse<Object> forStatus(AnnotationMetadata annotationMetadata) { HttpStatus status = HttpStatus.OK; if (annotationMetadata.hasAnnotation(Status.class)) { status = annotationMetadata.getValue(Status.class, HttpStatus.class).orElse(status); } return HttpResponse.status(status); }
private SimpleDateFormat resolveFormat(ConversionContext context) { AnnotationMetadata annotationMetadata = context.getAnnotationMetadata(); Optional<String> format = annotationMetadata.getValue(Format.class, String.class); return format .map((pattern) -> new SimpleDateFormat(pattern, context.getLocale())) .orElse(new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", context.getLocale())); }
private Object resolveValue(ArgumentConversionContext<T> context, ConvertibleValues<?> values, String annotationValue) { Argument<T> argument = context.getArgument(); if (StringUtils.isEmpty(annotationValue)) { annotationValue = argument.getName(); } return values.get(annotationValue, context).orElseGet(() -> conversionService.convert(argument.getAnnotationMetadata().getValue(Bindable.class, DEFAULT_VALUE_MEMBER, String.class).orElse(null), context).orElse(null) ); }
@Override public BindingResult<T> bind(ArgumentConversionContext<T> argument, HttpRequest<?> source) { ConvertibleValues<io.micronaut.http.cookie.Cookie> parameters = source.getCookies(); AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); String parameterName = annotationMetadata.getValue(CookieValue.class, String.class) .orElse(argument.getArgument().getName()); return doBind(argument, parameters, parameterName); }
@Override public BindingResult<T> bind(ArgumentConversionContext<T> argument, HttpRequest<?> source) { ConvertibleMultiValues<String> parameters = source.getHeaders(); AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); String parameterName = annotationMetadata.getValue(Header.class, String.class).orElse(argument.getArgument().getName()); return doBind(argument, parameters, parameterName); }
@Override public BindingResult<T> bind(ArgumentConversionContext<T> argument, HttpRequest<?> source) { MutableConvertibleValues<Object> parameters = source.getAttributes(); AnnotationMetadata annotationMetadata = argument.getAnnotationMetadata(); String parameterName = annotationMetadata.getValue(RequestAttribute.class, String.class).orElse(argument.getArgument().getName()); return doBind(argument, parameters, parameterName); }