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
            Reporter: Andrew Osborne


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.

Reply via email to