@Override default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull String annotation, @Nonnull String member, @Nonnull Argument<T> requiredType) { return getAnnotationMetadata().getDefaultValue(annotation, member, requiredType); }
/** * Return the default value for the given annotation member. * * @param annotation The annotation * @param member The member * @param requiredType The required type * @param <T> The required generic type * @return An optional value */ default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Class<T> requiredType) { ArgumentUtils.requireNonNull("annotation", annotation); return getDefaultValue(annotation.getName(), member, requiredType); }
@Override default @Nonnull <T> Optional<T> getValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Argument<T> requiredType) { return getAnnotationMetadata().getDefaultValue(annotation, member, requiredType); }
@Override default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Class<T> requiredType) { return getAnnotationMetadata().getDefaultValue(annotation, member, requiredType); }
@Override default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Argument<T> requiredType) { return getAnnotationMetadata().getDefaultValue(annotation, member, requiredType); }
@Override default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull String annotation, @Nonnull String member, @Nonnull Class<T> requiredType) { return getAnnotationMetadata().getDefaultValue(annotation, member, requiredType); }
/** * Return the default value for the given annotation member. * * @param annotation The annotation * @param member The member * @param requiredType The required type * @param <T> The required generic type * @return An optional value */ default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull Class<? extends Annotation> annotation, @Nonnull String member, @Nonnull Argument<T> requiredType) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); ArgumentUtils.requireNonNull("requiredType", requiredType); return getDefaultValue(annotation.getName(), member, requiredType); }
/** * Return the default value for the given annotation member. * * @param annotation The annotation * @param member The member * @param requiredType The required type * @param <T> The required generic type * @return An optional value */ default @Nonnull <T> Optional<T> getDefaultValue(@Nonnull String annotation, @Nonnull String member, @Nonnull Class<T> requiredType) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); ArgumentUtils.requireNonNull("requiredType", requiredType); return getDefaultValue(annotation, member, Argument.of(requiredType)); }
/** * 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 String annotation, @Nonnull String member, @Nonnull Argument<T> requiredType) { ArgumentUtils.requireNonNull("annotation", annotation); ArgumentUtils.requireNonNull("member", member); ArgumentUtils.requireNonNull("requiredType", requiredType); Optional<T> value = findAnnotation(annotation).flatMap(av -> av.get(member, requiredType)); if (!value.isPresent()) { if (hasStereotype(annotation)) { return getDefaultValue(annotation, member, requiredType); } } return value; }
if (!value.isPresent()) { if (hasStereotype(annotation)) { return getDefaultValue(annotation, member, requiredType);