Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule.config.spring.parsers.assembly
Class DefaultBeanAssembler

    java.lang.Object
      org.mule.config.spring.parsers.assembly.DefaultBeanAssembler

All Implemented Interfaces:
  BeanAssembler

Direct Known Subclasses:
  AbstractMapBeanAssembler

    public class DefaultBeanAssembler

extends Object
implements BeanAssembler

Constructor Summary
`DefaultBeanAssembler(PropertyConfiguration beanConfig, org.springframework.beans.factory.support.BeanDefinitionBuilder bean, PropertyConfiguration targetConfig, org.springframework.beans.factory.config.BeanDefinition target)`

Method Summary
`protected void` | `addPropertyWithoutReference(org.springframework.beans.MutablePropertyValues properties, SingleProperty config, String name, Object value)`
`protected void` | `addPropertyWithReference(org.springframework.beans.MutablePropertyValues properties, SingleProperty config, String name, Object value)`
`protected void` | `assertTargetPresent()`
`protected static String` | `bestGuessName(PropertyConfiguration config, String oldName, String className)`
`void` | `copyBeanToTarget()` Copy the properties from the bean we have been building into the target (typically the parent bean).
`void` | `extendBean(Attr attribute)` Add a property defined by an attribute to the bean we are constructing.
`void` | `extendBean(String newName, Object newValue, boolean isReference)` Allow direct access to bean for major hacks
`void` | `extendTarget(Attr attribute)` Add a property defined by an attribute to the parent of the bean we are constructing.
`void` | `extendTarget(String newName, Object newValue, boolean isReference)` Allow direct access to target for major hacks
`void` | `extendTarget(String oldName, String newName, Object newValue)`
`org.springframework.beans.factory.support.BeanDefinitionBuilder` | `getBean()`
`protected PropertyConfiguration` | `getBeanConfig()`
`org.springframework.beans.factory.config.BeanDefinition` | `getTarget()`
`protected PropertyConfiguration` | `getTargetConfig()`
`void` | `insertBeanInTarget(String oldName)` Insert the bean we have built into the target (typically the parent bean).
`protected static boolean` | `methodExists(String className, String newName)`
`protected void` | `setBean(org.springframework.beans.factory.support.BeanDefinitionBuilder bean)`
`void` | `setBeanFlag(String flag)` Set a flag on the bean - this is used to communicate with `MuleHierarchicalBeanDefinitionParserDelegate`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DefaultBeanAssembler

    public DefaultBeanAssembler(PropertyConfiguration beanConfig,
                                org.springframework.beans.factory.support.BeanDefinitionBuilder bean,
                                PropertyConfiguration targetConfig,
                                org.springframework.beans.factory.config.BeanDefinition target)

Method Detail

### getBean

    public org.springframework.beans.factory.support.BeanDefinitionBuilder getBean()

  Specified by:
    `getBean` in interface `BeanAssembler`

### setBean

    protected void setBean(org.springframework.beans.factory.support.BeanDefinitionBuilder bean)

### getTarget

    public org.springframework.beans.factory.config.BeanDefinition getTarget()

  Specified by:
    `getTarget` in interface `BeanAssembler`

### getBeanConfig

    protected PropertyConfiguration getBeanConfig()

### getTargetConfig

    protected PropertyConfiguration getTargetConfig()

### extendBean

    public void extendBean(Attr attribute)

  Add a property defined by an attribute to the bean we are constructing.

  Since an attribute value is always a string, we don't have to deal with complex types here - the only issue is whether or not we have a reference. References are detected by explicit annotation or by the "-ref" at the end of an attribute name. We do not check the Spring repo to see if a name already exists since that could lead to unpredictable behaviour. (see `PropertyConfiguration`)

  Specified by:
    `extendBean` in interface `BeanAssembler`
  Parameters:
    `attribute` - The attribute to add

### extendBean

    public void extendBean(String newName,
                           Object newValue,
                           boolean isReference)

  Allow direct access to bean for major hacks

  Specified by:
    `extendBean` in interface `BeanAssembler`
  Parameters:
    `newName` - The property name to add
    `newValue` - The property value to add
    `isReference` - If true, a bean reference is added (and newValue must be a String)

### extendTarget

    public void extendTarget(Attr attribute)

  Add a property defined by an attribute to the parent of the bean we are constructing.

  This is unusual. Normally you want `extendBean(org.w3c.dom.Attr)`.

  Specified by:
    `extendTarget` in interface `BeanAssembler`
  Parameters:
    `attribute` - The attribute to add

### extendTarget

    public void extendTarget(String newName,
                             Object newValue,
                             boolean isReference)

  Allow direct access to target for major hacks

  Specified by:
    `extendTarget` in interface `BeanAssembler`
  Parameters:
    `newName` - The property name to add
    `newValue` - The property value to add
    `isReference` - If true, a bean reference is added (and newValue must be a String)

### extendTarget

    public void extendTarget(String oldName,
                             String newName,
                             Object newValue)

  Specified by:
    `extendTarget` in interface `BeanAssembler`

### insertBeanInTarget

    public void insertBeanInTarget(String oldName)

  Insert the bean we have built into the target (typically the parent bean).

  This is the most complex case because the bean can have an aribtrary type.

  Specified by:
    `insertBeanInTarget` in interface `BeanAssembler`
  Parameters:
    `oldName` - The identifying the bean (typically element name).

### copyBeanToTarget

    public void copyBeanToTarget()

  Copy the properties from the bean we have been building into the target (typically the parent bean). In other words, the bean is a facade for the target.

  This assumes that the source bean has been constructed correctly (ie the decisions about what is ignored, a map, a list, etc) have already been made. All it does (apart from a direct copy) is merge collections with those on the target when necessary.

  Specified by:
    `copyBeanToTarget` in interface `BeanAssembler`

### setBeanFlag

    public void setBeanFlag(String flag)

  Description copied from interface: `BeanAssembler`
  Set a flag on the bean - this is used to communicate with `MuleHierarchicalBeanDefinitionParserDelegate`

  Specified by:
    `setBeanFlag` in interface `BeanAssembler`
  Parameters:
    `flag` - The flag to set

### assertTargetPresent

    protected void assertTargetPresent()

### addPropertyWithReference

    protected void addPropertyWithReference(org.springframework.beans.MutablePropertyValues properties,
                                            SingleProperty config,
                                            String name,
                                            Object value)

### addPropertyWithoutReference

    protected void addPropertyWithoutReference(org.springframework.beans.MutablePropertyValues properties,
                                               SingleProperty config,
                                               String name,
                                               Object value)

### bestGuessName

    protected static String bestGuessName(PropertyConfiguration config,
                                          String oldName,
                                          String className)

### methodExists

    protected static boolean methodExists(String className,
                                          String newName)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.