## 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
See Also:
  `BeanDefinition`, `BeanDefinition.getPropertyValues()`, `BeanDefinition.getConstructorArgumentValues()`, `PropertyPlaceholderConfigurer`

Constructor Summary
`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
`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