## org.springframework.beans.factory.config
Class DependencyDescriptor

    java.lang.Object
      org.springframework.beans.factory.config.DependencyDescriptor

    public class DependencyDescriptor

extends Object

Descriptor for a specific dependency that is about to be injected. Wraps a constructor parameter, a method parameter or a field, allowing unified access to their metadata.

Since:
  2.5
Author:
  Juergen Hoeller

Constructor Summary
`DependencyDescriptor(Field field, boolean required)` Create a new descriptor for a field.
`DependencyDescriptor(Field field, boolean required, boolean eager)` Create a new descriptor for a field.
`DependencyDescriptor(MethodParameter methodParameter, boolean required)` Create a new descriptor for a method or constructor parameter.
`DependencyDescriptor(MethodParameter methodParameter, boolean required, boolean eager)` Create a new descriptor for a method or constructor parameter.

Method Summary
`Object[]` `getAnnotations()` Obtain the annotations associated with the wrapped parameter/field, if any.
`Class` `getCollectionType()` Determine the generic element type of the wrapped Collection parameter/field, if any.
`Class` `getDependencyType()` Determine the declared (non-generic) type of the wrapped parameter/field.
`Field` `getField()` Return the wrapped Field, if any.
`Class` `getMapKeyType()` Determine the generic key type of the wrapped Map parameter/field, if any.
`Class` `getMapValueType()` Determine the generic value type of the wrapped Map parameter/field, if any.
`MethodParameter` `getMethodParameter()` Return the wrapped MethodParameter, if any.
`boolean` `isEager()` Return whether this dependency is 'eager' in the sense of eagerly resolving potential target beans for type matching.
`boolean` `isRequired()` Return whether this dependency is required.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DependencyDescriptor

    public DependencyDescriptor(MethodParameter methodParameter,
                                boolean required)

  Create a new descriptor for a method or constructor parameter. Considers the dependency as 'eager'.

  Parameters:
    `methodParameter` - the MethodParameter to wrap
    `required` - whether the dependency is required

### DependencyDescriptor

    public DependencyDescriptor(MethodParameter methodParameter,
                                boolean required,
                                boolean eager)

  Create a new descriptor for a method or constructor parameter.

  Parameters:
    `methodParameter` - the MethodParameter to wrap
    `required` - whether the dependency is required
    `eager` - whether this dependency is 'eager' in the sense of eagerly resolving potential target beans for type matching

### DependencyDescriptor

    public DependencyDescriptor(Field field,
                                boolean required)

  Create a new descriptor for a field. Considers the dependency as 'eager'.

  Parameters:
    `field` - the field to wrap
    `required` - whether the dependency is required

### DependencyDescriptor

    public DependencyDescriptor(Field field,
                                boolean required,
                                boolean eager)

  Create a new descriptor for a field.

  Parameters:
    `field` - the field to wrap
    `required` - whether the dependency is required
    `eager` - whether this dependency is 'eager' in the sense of eagerly resolving potential target beans for type matching

Method Detail

### getMethodParameter

    public MethodParameter getMethodParameter()

  Return the wrapped MethodParameter, if any.

  Note: Either MethodParameter or Field is available.

  Returns:
    the MethodParameter, or `null` if none

### getField

    public Field getField()

  Return the wrapped Field, if any.

  Note: Either MethodParameter or Field is available.

  Returns:
    the Field, or `null` if none

### isRequired

    public boolean isRequired()

  Return whether this dependency is required.

### isEager

    public boolean isEager()

  Return whether this dependency is 'eager' in the sense of eagerly resolving potential target beans for type matching.

### getDependencyType

    public Class getDependencyType()

  Determine the declared (non-generic) type of the wrapped parameter/field.

  Returns:
    the declared type (never `null`)

### getCollectionType

    public Class getCollectionType()

  Determine the generic element type of the wrapped Collection parameter/field, if any.

  Returns:
    the generic type, or `null` if none

### getMapKeyType

    public Class getMapKeyType()

  Determine the generic key type of the wrapped Map parameter/field, if any.

  Returns:
    the generic type, or `null` if none

### getMapValueType

    public Class getMapValueType()

  Determine the generic value type of the wrapped Map parameter/field, if any.

  Returns:
    the generic type, or `null` if none

### getAnnotations

    public Object[] getAnnotations()

  Obtain the annotations associated with the wrapped parameter/field, if any.

  Returns:
    the parameter/field annotations, or `null` if there is no annotation support (on JDK < 1.5). The return value is an Object array instead of an Annotation array simply for compatibility with older JDKs; feel free to cast it to `Annotation[]` on JDK 1.5 or higher.

Copyright © 2002-2008 The Spring Framework.