/** * Determine the name of the wrapped parameter/field. * @return the declared name (never {@code null}) */ @Nullable public String getDependencyName() { return (this.field != null ? this.field.getName() : obtainMethodParameter().getParameterName()); }
return obtainMethodParameter().getNestedParameterType();
/** * Determine the name of the wrapped parameter/field. * @return the declared name (never {@code null}) */ @Nullable public String getDependencyName() { return (this.field != null ? this.field.getName() : obtainMethodParameter().getParameterName()); }
/** * Build a {@link ResolvableType} object for the wrapped parameter/field. * @since 4.0 */ public ResolvableType getResolvableType() { ResolvableType resolvableType = this.resolvableType; if (resolvableType == null) { resolvableType = (this.field != null ? ResolvableType.forField(this.field, this.nestingLevel, this.containingClass) : ResolvableType.forMethodParameter(obtainMethodParameter())); this.resolvableType = resolvableType; } return resolvableType; }
return obtainMethodParameter().getNestedParameterType();
/** * Return whether this dependency is required. * <p>Optional semantics are derived from Java 8's {@link java.util.Optional}, * any variant of a parameter-level {@code Nullable} annotation (such as from * JSR-305 or the FindBugs set of annotations), or a language-level nullable * type declaration in Kotlin. */ public boolean isRequired() { if (!this.required) { return false; } if (this.field != null) { return !(this.field.getType() == Optional.class || hasNullableAnnotation() || (KotlinDetector.isKotlinReflectPresent() && KotlinDetector.isKotlinType(this.field.getDeclaringClass()) && KotlinDelegate.isNullable(this.field))); } else { return !obtainMethodParameter().isOptional(); } }
/** * Build a {@link ResolvableType} object for the wrapped parameter/field. * @since 4.0 */ public ResolvableType getResolvableType() { ResolvableType resolvableType = this.resolvableType; if (resolvableType == null) { resolvableType = (this.field != null ? ResolvableType.forField(this.field, this.nestingLevel, this.containingClass) : ResolvableType.forMethodParameter(obtainMethodParameter())); this.resolvableType = resolvableType; } return resolvableType; }
/** * Build a {@link TypeDescriptor} object for the wrapped parameter/field. * @since 5.1.4 */ public TypeDescriptor getTypeDescriptor() { TypeDescriptor typeDescriptor = this.typeDescriptor; if (typeDescriptor == null) { typeDescriptor = (this.field != null ? new TypeDescriptor(getResolvableType(), getDependencyType(), getAnnotations()) : new TypeDescriptor(obtainMethodParameter())); this.typeDescriptor = typeDescriptor; } return typeDescriptor; }
/** * Return whether this dependency is required. * <p>Optional semantics are derived from Java 8's {@link java.util.Optional}, * any variant of a parameter-level {@code Nullable} annotation (such as from * JSR-305 or the FindBugs set of annotations), or a language-level nullable * type declaration in Kotlin. */ public boolean isRequired() { if (!this.required) { return false; } if (this.field != null) { return !(this.field.getType() == Optional.class || hasNullableAnnotation() || (KotlinDetector.isKotlinReflectPresent() && KotlinDetector.isKotlinType(this.field.getDeclaringClass()) && KotlinDelegate.isNullable(this.field))); } else { return !obtainMethodParameter().isOptional(); } }
/** * Build a {@link TypeDescriptor} object for the wrapped parameter/field. * @since 5.1.4 */ public TypeDescriptor getTypeDescriptor() { TypeDescriptor typeDescriptor = this.typeDescriptor; if (typeDescriptor == null) { typeDescriptor = (this.field != null ? new TypeDescriptor(getResolvableType(), getDependencyType(), getAnnotations()) : new TypeDescriptor(obtainMethodParameter())); this.typeDescriptor = typeDescriptor; } return typeDescriptor; }