I love the idea of the builder and deprecating  SimpleAttributeModifier too
since I see people use it and it overwrites the attribute without them
realizing it.

On Wed, Jun 8, 2011 at 6:03 AM, James Carman
<[email protected]>wrote:

> I like the idea of the builder pattern much better.  DSLs rock!
>
> Sent from tablet device.  Please excuse typos and brevity.
> On Jun 8, 2011 6:35 AM, "Martin Grigorov" <[email protected]> wrote:
> > or builder pattern:
> >
> > AttributeModifier.attr("name").model(someModel).create().append()
> >
> > On Wed, Jun 8, 2011 at 12:27 PM, Martijn Dashorst
> > <[email protected]> wrote:
> >> Taken from the user@ list, where it might get snowed under...
> >>
> >> The SimpleAttributeModifier, AttributeAppender and AttributePrepender
> >> classes are in my opinion stop gap measures to work around issues with
> >> AttributeModifier's API.
> >>
> >> I think that we could do better API wise with three factory methods (or
> 6
> if
> >> we duplicate each method to take an IModel<?> and a String for
> >> convenience) on AttributeModifier, and deprecate SimpleAttributeModifier
> >> and AttributeAppender. I'd also merge the appender/prepender logic into
> >> attribute modifier, such that user specializations can make use of
> >> them.
> >>
> >> AttributeModifier.setAttribute(String attribute, IModel<?> value);
> >> AttributeModifier.setAttribute(String attribute, String value);
> >> AttributeModifier.prependAttribute(String attribute, String value);
> >> AttributeModifier.prependAttribute(String attribute, IModel<?> value);
> >> AttributeModifier.appendAttribute(String attribute, String value);
> >> AttributeModifier.appendAttribute(String attribute, IModel<?> value);
> >>
> >> Or perhaps:
> >>
> >> AttributeModifier.overwrite(String attribute, IModel<?> value);
> >> AttributeModifier.overwrite(String attribute, String value);
> >> AttributeModifier.prepend(String attribute, IModel<?> value);
> >> AttributeModifier.prepend(String attribute, String value);
> >> AttributeModifier.append(String attribute, IModel<?> value);
> >> AttributeModifier.append(String attribute, String value);
> >>
> >> I'd value input on the naming of things.
> >>
> >> Martijn
> >>
> >
> >
> >
> > --
> > Martin Grigorov
> > jWeekend
> > Training, Consulting, Development
> > http://jWeekend.com
>

Reply via email to