org.springframework.beans.factory.config
Class DependencyDescriptor

java.lang.Object
  extended by 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.