Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2002-2007 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.springframework.beans.factory.config;
 
 
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.

Author(s):
Juergen Hoeller
Since:
2.5
 
 public class DependencyDescriptor {
 
 	private static final Method fieldAnnotationsMethod =
 			ClassUtils.getMethodIfAvailable(Field.class"getAnnotations"new Class[0]);
 
 
 
 	private Field field;
 
 	private final boolean required;
 
 	private Object[] fieldAnnotations;


Create a new descriptor for a method or constructor parameter.

Parameters:
methodParameter the MethodParameter to wrap
required whether the dependency is required
 
 	public DependencyDescriptor(MethodParameter methodParameterboolean required) {
 		Assert.notNull(methodParameter"MethodParameter must not be null");
 		this. = methodParameter;
 		this. = required;
 	}

Create a new descriptor for a field.

Parameters:
field the field to wrap
required whether the dependency is required
 
 	public DependencyDescriptor(Field fieldboolean required) {
 		Assert.notNull(field"Field must not be null");
 		this. = field;
 		this. = required;
 	}


Return the wrapped MethodParameter, if any.

Note: Either MethodParameter or Field is available.

Returns:
the MethodParameter, or null if none
 
 		return this.;
 	}

Return the wrapped Field, if any.

Note: Either MethodParameter or Field is available.

Returns:
the Field, or null if none
 
 	public Field getField() {
 		return this.;
 	}

Return whether this dependency is required.
 
 	public boolean isRequired() {
 		return this.;
 	}


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

Returns:
the declared type (never null)
		return (this. != null ? this..getType() : this..getParameterType());
	}

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

Returns:
the generic type, or null if none
		if (JdkVersion.getMajorJavaVersion() < .) {
			return null;
		}
		return (this. != null ?
				GenericCollectionTypeResolver.getCollectionFieldType(this.) :
				GenericCollectionTypeResolver.getCollectionParameterType(this.));
	}

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

Returns:
the generic type, or null if none
	public Class getMapKeyType() {
		if (JdkVersion.getMajorJavaVersion() < .) {
			return null;
		}
		return (this. != null ?
				GenericCollectionTypeResolver.getMapKeyFieldType(this.) :
				GenericCollectionTypeResolver.getMapKeyParameterType(this.));
	}

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

Returns:
the generic type, or null if none
	public Class getMapValueType() {
		if (JdkVersion.getMajorJavaVersion() < .) {
			return null;
		}
		return (this. != null ?
				GenericCollectionTypeResolver.getMapValueFieldType(this.) :
				GenericCollectionTypeResolver.getMapValueParameterType(this.));
	}

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.
	public Object[] getAnnotations() {
		if (this. != null) {
			if (this. != null) {
				return this.;
			}
			if ( == null) {
				return null;
			}
			this. = (Object[]) ReflectionUtils.invokeMethod(this.);
			return this.;
		}
		else {
		}
	}
New to GrepCode? Check out our FAQ X