You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Jeremy Hughes (JIRA)" <ji...@apache.org> on 2010/02/24 17:44:37 UTC

[jira] Updated: (ARIES-27) Expand the BeanProcessor interface, so it is better able to make decisions about bean replacements.

     [ https://issues.apache.org/jira/browse/ARIES-27?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes updated ARIES-27:
-------------------------------

    Fix Version/s: 0.1

> Expand the BeanProcessor interface, so it is better able to make decisions about bean replacements.
> ---------------------------------------------------------------------------------------------------
>
>                 Key: ARIES-27
>                 URL: https://issues.apache.org/jira/browse/ARIES-27
>             Project: Aries
>          Issue Type: Improvement
>          Components: Blueprint
>            Reporter: Andrew Osborne
>            Assignee: Andrew Osborne
>             Fix For: 0.1
>
>
> Problem:
> The current beanProcessor is fairly restricted passing only the current Bean, and it's beanName, expecting the implementation to be able to do any 'processing' or substitution based only on that information. 
> While this works well for simple bean wrappers, it's easy to see that some categories of BeanProcessor will struggle with such limited information. 
> Eg, a processor may wish to dynamically replace the bean, to do so, it may require infomation from the original BeanMetadata. Additionally, a processor may need to return a wrapper, that when invoked obtains a bean dynamically. 
> Proposal:
> Pass the bean metadata, and a 'BeanCreator' to the BeanProcessor, enabling the processor to instantiate a new Bean when required.
> This gets slightly more complex when there is more than one BeanProcessor operating, as each processor must still obtain a Bean that went through the same chain of Processors that it's orignal bean did. 
> Eg. with 3 processors. 
> A gets the fresh bean, and a BeanCreator for fresh beans
> B gets A's returned bean, and a BeanCreator that returns beans passed through A.
> C gets B's returned bean, and a BeanCreator that returns beans passed through A, then B.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.