The Spring Framework

## org.springframework.context.annotation
Class ScannedGenericBeanDefinition

    java.lang.Object
      org.springframework.core.AttributeAccessorSupport
          org.springframework.beans.BeanMetadataAttributeAccessor
              org.springframework.beans.factory.support.AbstractBeanDefinition
                  org.springframework.beans.factory.support.GenericBeanDefinition
                      org.springframework.context.annotation.ScannedGenericBeanDefinition

All Implemented Interfaces:
  Serializable, Cloneable, BeanMetadataElement, AnnotatedBeanDefinition, BeanDefinition, AttributeAccessor

    public class ScannedGenericBeanDefinition

extends GenericBeanDefinition
implements AnnotatedBeanDefinition

Extension of the `GenericBeanDefinition` class, based on an ASM ClassReader, with support for annotation metadata exposed through the `AnnotatedBeanDefinition` interface.

This class does not load the bean `Class` early. It rather retrieves all relevant metadata from the ".class" file itself, parsed with the ASM ClassReader.

Since:
  2.5
Author:
  Juergen Hoeller
See Also:
  `getMetadata()`, `AbstractBeanDefinition.getBeanClassName()`, `MetadataReaderFactory`, Serialized Form

Field Summary

Fields inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition
`AUTOWIRE_AUTODETECT, AUTOWIRE_BY_NAME, AUTOWIRE_BY_TYPE, AUTOWIRE_CONSTRUCTOR, AUTOWIRE_NO, DEPENDENCY_CHECK_ALL, DEPENDENCY_CHECK_NONE, DEPENDENCY_CHECK_OBJECTS, DEPENDENCY_CHECK_SIMPLE`

Fields inherited from interface org.springframework.beans.factory.config.BeanDefinition
`ROLE_APPLICATION, ROLE_INFRASTRUCTURE, ROLE_SUPPORT, SCOPE_PROTOTYPE, SCOPE_SINGLETON`

Constructor Summary
`ScannedGenericBeanDefinition(MetadataReader metadataReader)` Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.

Method Summary
`AnnotationMetadata` `getMetadata()` Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.

Methods inherited from class org.springframework.beans.factory.support.GenericBeanDefinition
`cloneBeanDefinition, equals, getParentName, setParentName, toString`

Methods inherited from class org.springframework.beans.factory.support.AbstractBeanDefinition

`addQualifier, applyDefaults, clone, copyQualifiersFrom, getAutowireMode, getBeanClass, getBeanClassName, getConstructorArgumentValues, getDependencyCheck, getDependsOn, getDescription, getDestroyMethodName, getFactoryBeanName, getFactoryMethodName, getInitMethodName, getMethodOverrides, getOriginatingBeanDefinition, getPropertyValues, getQualifier, getQualifiers, getResolvedAutowireMode, getResource, getResourceDescription, getRole, getScope, hasBeanClass, hasConstructorArgumentValues, hashCode, hasQualifier, isAbstract, isAutowireCandidate, isEnforceDestroyMethod, isEnforceInitMethod, isLazyInit, isPrimary, isPrototype, isSingleton, isSynthetic, overrideFrom, overrideFrom, prepareMethodOverride, prepareMethodOverrides, resolveBeanClass, setAbstract, setAutowireCandidate, setAutowireMode, setBeanClass, setBeanClassName, setConstructorArgumentValues, setDependencyCheck, setDependsOn, setDescription, setDestroyMethodName, setEnforceDestroyMethod, setEnforceInitMethod, setFactoryBeanName, setFactoryMethodName, setInitMethodName, setLazyInit, setMethodOverrides, setOriginatingBeanDefinition, setPrimary, setPropertyValues, setResource, setResourceDescription, setRole, setScope, setSingleton, setSynthetic, validate`

Methods inherited from class org.springframework.beans.BeanMetadataAttributeAccessor
`addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource`

Methods inherited from class org.springframework.core.AttributeAccessorSupport
`attributeNames, copyAttributesFrom, hasAttribute`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.beans.factory.config.BeanDefinition
`getBeanClassName, getConstructorArgumentValues, getDescription, getFactoryBeanName, getFactoryMethodName, getOriginatingBeanDefinition, getParentName, getPropertyValues, getResourceDescription, getRole, getScope, isAbstract, isAutowireCandidate, isLazyInit, isSingleton, setAutowireCandidate, setBeanClassName, setFactoryBeanName, setFactoryMethodName, setParentName, setScope`

Methods inherited from interface org.springframework.core.AttributeAccessor
`attributeNames, getAttribute, hasAttribute, removeAttribute, setAttribute`

Methods inherited from interface org.springframework.beans.BeanMetadataElement
`getSource`

Constructor Detail

### ScannedGenericBeanDefinition

    public ScannedGenericBeanDefinition(MetadataReader metadataReader)

  Create a new ScannedGenericBeanDefinition for the class that the given MetadataReader describes.

  Parameters:
    `metadataReader` - the MetadataReader for the scanned target class

Method Detail

### getMetadata

    public final AnnotationMetadata getMetadata()

  Description copied from interface: `AnnotatedBeanDefinition`
  Obtain the annotation metadata (as well as basic class metadata) for this bean definition's bean class.

  Specified by:
    `getMetadata` in interface `AnnotatedBeanDefinition`
  Returns:
    the annotation metadata object (never `null`)

The Spring Framework

Copyright © 2002-2008 The Spring Framework.