Class InjectionPoint

java.lang.Object
org.springframework.beans.factory.InjectionPoint
Direct Known Subclasses:
DependencyDescriptor

public class InjectionPoint extends Object
A simple descriptor for an injection point, pointing to a method/constructor parameter or a field.

Exposed by UnsatisfiedDependencyException. Also available as an argument for factory methods, reacting to the requesting injection point for building a customized bean instance.

Since:
4.3
Author:
Juergen Hoeller
See Also:
  • Field Details

  • Constructor Details

    • InjectionPoint

      public InjectionPoint(MethodParameter methodParameter)
      Create an injection point descriptor for a method or constructor parameter.
      Parameters:
      methodParameter - the MethodParameter to wrap
    • InjectionPoint

      public InjectionPoint(Field field)
      Create an injection point descriptor for a field.
      Parameters:
      field - the field to wrap
    • InjectionPoint

      protected InjectionPoint(InjectionPoint original)
      Copy constructor.
      Parameters:
      original - the original descriptor to create a copy from
    • InjectionPoint

      protected InjectionPoint()
      Just available for serialization purposes in subclasses.
  • Method Details

    • getMethodParameter

      @Nullable public MethodParameter getMethodParameter()
      Return the wrapped MethodParameter, if any.

      Note: Either MethodParameter or Field is available.

      Returns:
      the MethodParameter, or null if none
    • getField

      @Nullable public Field getField()
      Return the wrapped Field, if any.

      Note: Either MethodParameter or Field is available.

      Returns:
      the Field, or null if none
    • obtainMethodParameter

      protected final MethodParameter obtainMethodParameter()
      Return the wrapped MethodParameter, assuming it is present.
      Returns:
      the MethodParameter (never null)
      Throws:
      IllegalStateException - if no MethodParameter is available
      Since:
      5.0
    • getAnnotations

      public Annotation[] getAnnotations()
      Obtain the annotations associated with the wrapped field or method/constructor parameter.
    • getAnnotation

      @Nullable public <A extends Annotation> A getAnnotation(Class<A> annotationType)
      Retrieve a field/parameter annotation of the given type, if any.
      Parameters:
      annotationType - the annotation type to retrieve
      Returns:
      the annotation instance, or null if none found
      Since:
      4.3.9
    • getDeclaredType

      public Class<?> getDeclaredType()
      Return the type declared by the underlying field or method/constructor parameter, indicating the injection type.
    • getMember

      public Member getMember()
      Returns the wrapped member, containing the injection point.
      Returns:
      the Field / Method / Constructor as Member
    • getAnnotatedElement

      public AnnotatedElement getAnnotatedElement()
      Return the wrapped annotated element.

      Note: In case of a method/constructor parameter, this exposes the annotations declared on the method or constructor itself (i.e. at the method/constructor level, not at the parameter level). Use getAnnotations() to obtain parameter-level annotations in such a scenario, transparently with corresponding field annotations.

      Returns:
      the Field / Method / Constructor as AnnotatedElement
    • equals

      public boolean equals(@Nullable Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object