hivemind-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Carman" <ja...@carmanconsulting.com>
Subject Re: Changes in 2.0 branch
Date Tue, 07 Nov 2006 16:28:12 GMT
No, it doesn't limit it to lists.  The list of contributions are
"transformed" by the transformer into whatever is desired.


On 11/7/06, Achim Hügen <achim.huegen@gmx.de> wrote:
> James,
>
> It's not quite clear to me which problems you are trying to solve with
> the transformers. Is it an additional feature?
>
> Your proposal would limit the contributions to lists again. This
> limitation doesn't
> feel natural in the annotation world. Here is another example which
> shows how to use a more complex object as container.
>
> public class ExampleModule
> {
>   @Configuration(id = "strutsModule")
>   public ModuleConfig getStrutsModule()
>   {
>     return new ModuleConfigImpl();
>   }
>
>   @Contribution(configuration-id = "strutsModule")
>   public void contributeToStrutsModule(ModuleConfig config)
>   {
>     config.addActionConfig(new ActionConfig());
>     config.addFormBeanConfig(new MyFormBeanConfig());
>   }
> }
>
> Achim
>
> James Carman schrieb:
> > Well, how about this for the configuration/contribution stuff?  We
> > introduce the concept of a ContributionTransformer (to borrow a term
> > from commons collections):
> >
> > public interface ContributionTransformer
> > {
> >  public Object transform( List contributions );
> > }
> >
> > Each configuration point can have a ContributionTransformer assigned
> > to it.  It uses this to transform its contributed objects into the
> > desired type.  The default one would just return the list of original
> > objects, but you can assign your own like this:
> >
> > <configuration-point id="blah"
> > transformer="instance:com.myco.MyContribTransformer">
> > ...
> > </configuration-point>
> > We could provide a couple of useful helper classes like
> > SingleContributionTransformer which merely returns the first item in
> > the list.
> > Also, we could do a MappedContributionTransformer which
> > transforms a list of MappedContribution objects (name/value pair
> > essentially) into a HashMap (or you can specify another Map subclass
> > if you like).  This would allow us to support single-value
> > configurations easier, because they wouldn't have a "container class."
> >
>
>
> > On 11/7/06, Achim Hügen <achim.huegen@gmx.de> wrote:
> >> Hi,
> >>
> >> I've finished a short overview of the changes in the annotation branch:
> >>
> >> http://wiki.apache.org/jakarta-hivemind/NewAndNoteworthyFeaturesInAnnotationBranch
> >>
> >>
> >> Have fun
> >> Achim
> >>
> >>
> >
> >
>
>

Mime
View raw message