org.springframework.beans.factory.config

## Class BeanDefinitionVisitor

- java.lang.Object
- - org.springframework.beans.factory.config.BeanDefinitionVisitor

    public class BeanDefinitionVisitor
    extends Object

Visitor class for traversing `BeanDefinition` objects, in particular the property values and constructor argument values contained in them, resolving bean metadata values.

Used by `PropertyPlaceholderConfigurer` to parse all String values contained in a BeanDefinition, resolving any placeholders found.

Since:
  1.2
Author:
  Juergen Hoeller, Sam Brannen
See Also:
  `BeanDefinition`, `BeanDefinition.getPropertyValues()`, `BeanDefinition.getConstructorArgumentValues()`, `PropertyPlaceholderConfigurer`

### Constructor Summary

Constructors
`protected` `BeanDefinitionVisitor()` Create a new BeanDefinitionVisitor for subclassing.
`` `BeanDefinitionVisitor(StringValueResolver valueResolver)` Create a new BeanDefinitionVisitor, applying the specified value resolver to all bean metadata values.

### Method Summary

Methods
`protected String` `resolveStringValue(String strVal)` Resolve the given String value, for example parsing placeholders.
`protected Object` `resolveValue(Object value)`
`protected void` `visitArray(Object[] arrayVal)`
`protected void` `visitBeanClassName(BeanDefinition beanDefinition)`
`void` `visitBeanDefinition(BeanDefinition beanDefinition)` Traverse the given BeanDefinition object and the MutablePropertyValues and ConstructorArgumentValues contained in them.
`protected void` `visitFactoryBeanName(BeanDefinition beanDefinition)`
`protected void` `visitFactoryMethodName(BeanDefinition beanDefinition)`
`protected void` `visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas)`
`protected void` `visitIndexedArgumentValues(Map<Integer,ConstructorArgumentValues.ValueHolder> ias)`
`protected void` `visitList(List listVal)`
`protected void` `visitMap(Map<?,?> mapVal)`
`protected void` `visitParentName(BeanDefinition beanDefinition)`
`protected void` `visitPropertyValues(MutablePropertyValues pvs)`
`protected void` `visitScope(BeanDefinition beanDefinition)`
`protected void` `visitSet(Set setVal)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### BeanDefinitionVisitor

    public BeanDefinitionVisitor(StringValueResolver valueResolver)

Create a new BeanDefinitionVisitor, applying the specified value resolver to all bean metadata values.

Parameters:
  `valueResolver` - the StringValueResolver to apply

#### BeanDefinitionVisitor

    protected BeanDefinitionVisitor()

Create a new BeanDefinitionVisitor for subclassing. Subclasses need to override the `resolveStringValue(java.lang.String)` method.

### Method Detail

#### visitBeanDefinition

    public void visitBeanDefinition(BeanDefinition beanDefinition)

Traverse the given BeanDefinition object and the MutablePropertyValues and ConstructorArgumentValues contained in them.

Parameters:
  `beanDefinition` - the BeanDefinition object to traverse
See Also:
  `resolveStringValue(String)`

#### visitParentName

    protected void visitParentName(BeanDefinition beanDefinition)

#### visitBeanClassName

    protected void visitBeanClassName(BeanDefinition beanDefinition)

#### visitFactoryBeanName

    protected void visitFactoryBeanName(BeanDefinition beanDefinition)

#### visitFactoryMethodName

    protected void visitFactoryMethodName(BeanDefinition beanDefinition)

#### visitScope

    protected void visitScope(BeanDefinition beanDefinition)

#### visitPropertyValues

    protected void visitPropertyValues(MutablePropertyValues pvs)

#### visitIndexedArgumentValues

    protected void visitIndexedArgumentValues(Map<Integer,ConstructorArgumentValues.ValueHolder> ias)

#### visitGenericArgumentValues

    protected void visitGenericArgumentValues(List<ConstructorArgumentValues.ValueHolder> gas)

#### resolveValue

    protected Object resolveValue(Object value)

#### visitArray

    protected void visitArray(Object[] arrayVal)

#### visitList

    protected void visitList(List listVal)

#### visitSet

    protected void visitSet(Set setVal)

#### visitMap

    protected void visitMap(Map<?,?> mapVal)

#### resolveStringValue

    protected String resolveStringValue(String strVal)

Resolve the given String value, for example parsing placeholders.

Parameters:
  `strVal` - the original String value
Returns:
  the resolved String value