# Uses of Interface
org.springframework.beans.BeanMetadataElement

Packages that use BeanMetadataElement
Package
Description
org.springframework.beans
This package contains interfaces and classes for manipulating Java beans.
org.springframework.beans.factory.annotation
Support package for annotation-driven bean configuration.
org.springframework.beans.factory.config
SPI interfaces and configuration-related convenience classes for bean factories.
org.springframework.beans.factory.parsing
Support infrastructure for bean definition parsing.
org.springframework.beans.factory.support
Classes supporting the `org.springframework.beans.factory` package.
org.springframework.beans.factory.xml
Contains an abstract XML-based `BeanFactory` implementation, including a standard "spring-beans" XSD.

## Uses of BeanMetadataElement in org.springframework.beans

Classes in org.springframework.beans that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`BeanMetadataAttribute`
Holder for a key-value style attribute that is part of a bean definition.
`class`
`BeanMetadataAttributeAccessor`
Extension of `AttributeAccessorSupport`, holding attributes as `BeanMetadataAttribute` objects in order to keep track of the definition source.
`class`
`PropertyValue`
Object to hold information and value for an individual bean property.

## Uses of BeanMetadataElement in org.springframework.beans.factory.annotation

Subinterfaces of BeanMetadataElement in org.springframework.beans.factory.annotation
Modifier and Type
Interface
Description
`interface`
`AnnotatedBeanDefinition`
Extended `BeanDefinition` interface that exposes `AnnotationMetadata` about its bean class - without requiring the class to be loaded yet.
Classes in org.springframework.beans.factory.annotation that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`AnnotatedGenericBeanDefinition`
Extension of the `GenericBeanDefinition` class, adding support for annotation metadata exposed through the `AnnotatedBeanDefinition` interface.

## Uses of BeanMetadataElement in org.springframework.beans.factory.config

Subinterfaces of BeanMetadataElement in org.springframework.beans.factory.config
Modifier and Type
Interface
Description
`interface`
`BeanDefinition`
A BeanDefinition describes a bean instance, which has property values, constructor argument values, and further information supplied by concrete implementations.
`interface`
`BeanReference`
Interface that exposes a reference to a bean name in an abstract fashion.
Classes in org.springframework.beans.factory.config that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`BeanDefinitionHolder`
Holder for a BeanDefinition with name and aliases.
`static class`
`ConstructorArgumentValues.ValueHolder`
Holder for a constructor argument value, with an optional type attribute indicating the target type of the actual constructor argument.
`class`
`RuntimeBeanNameReference`
Immutable placeholder class used for a property value object when it's a reference to another bean name in the factory, to be resolved at runtime.
`class`
`RuntimeBeanReference`
Immutable placeholder class used for a property value object when it's a reference to another bean in the factory, to be resolved at runtime.
`class`
`TypedStringValue`
Holder for a typed String value.

## Uses of BeanMetadataElement in org.springframework.beans.factory.parsing

Subinterfaces of BeanMetadataElement in org.springframework.beans.factory.parsing
Modifier and Type
Interface
Description
`interface`
`ComponentDefinition`
Interface that describes the logical view of a set of `BeanDefinitions` and `BeanReferences` as presented in some configuration context.
`interface`
`DefaultsDefinition`
Marker interface for a defaults definition, extending BeanMetadataElement to inherit source exposure.
Classes in org.springframework.beans.factory.parsing that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`AbstractComponentDefinition`
Base implementation of `ComponentDefinition` that provides a basic implementation of `AbstractComponentDefinition.getDescription()` which delegates to `ComponentDefinition.getName()`.
`class`
`AliasDefinition`
Representation of an alias that has been registered during the parsing process.
`class`
`BeanComponentDefinition`
ComponentDefinition based on a standard BeanDefinition, exposing the given bean definition as well as inner bean definitions and bean references for the given bean.
`class`
`CompositeComponentDefinition`
`ComponentDefinition` implementation that holds one or more nested `ComponentDefinition` instances, aggregating them into a named group of components.
`class`
`ImportDefinition`
Representation of an import that has been processed during the parsing process.

## Uses of BeanMetadataElement in org.springframework.beans.factory.support

Classes in org.springframework.beans.factory.support that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`AbstractBeanDefinition`
Base class for concrete, full-fledged `BeanDefinition` classes, factoring out common properties of `GenericBeanDefinition`, `RootBeanDefinition`, and `ChildBeanDefinition`.
`class`
`AutowireCandidateQualifier`
Qualifier for resolving autowire candidates.
`class`
`ChildBeanDefinition`
Bean definition for beans which inherit settings from their parent.
`class`
`GenericBeanDefinition`
GenericBeanDefinition is a one-stop shop for declarative bean definition purposes.
`class`
`LookupOverride`
Represents an override of a method that looks up an object in the same IoC context, either by bean name or by bean type (based on the declared method return type).
`class`
`ManagedArray`
Tag collection class used to hold managed array elements, which may include runtime bean references (to be resolved into bean objects).
`class`
`ManagedList<E>`
Tag collection class used to hold managed List elements, which may include runtime bean references (to be resolved into bean objects).
`class`
`ManagedMap<K,V>`
Tag collection class used to hold managed Map values, which may include runtime bean references (to be resolved into bean objects).
`class`
`ManagedProperties`
Tag class which represents a Spring-managed `Properties` instance that supports merging of parent/child definitions.
`class`
`ManagedSet<E>`
Tag collection class used to hold managed Set values, which may include runtime bean references (to be resolved into bean objects).
`class`
`MethodOverride`
Object representing the override of a method on a managed object by the IoC container.
`class`
`ReplaceOverride`
Extension of `MethodOverride` that represents an arbitrary override of a method by the IoC container.
`class`
`RootBeanDefinition`
A root bean definition represents the merged bean definition at runtime that backs a specific bean in a Spring BeanFactory.

## Uses of BeanMetadataElement in org.springframework.beans.factory.xml

Classes in org.springframework.beans.factory.xml that implement BeanMetadataElement
Modifier and Type
Class
Description
`class`
`DocumentDefaultsDefinition`
Simple JavaBean that holds the defaults specified at the `<beans>` level in a standard Spring XML bean definition document: `default-lazy-init`, `default-autowire`, etc.