I disagree with your assessment of mixins.  Mixins are primarily tied to the 
component lifecycle, not to specific component implementations.  There are 
certainly some mixins that can't be universally applied (eg: they may assume 
that the component is a ClientElement which may or may not be true), but the 
way you go about implementing them doesn't ordinarily depend on the internal 
structure of the component.  Perhaps the closest framework-supported exception 
to that is the @BindParameter, but even there you're working with published (ie 
/public/) information about components, rather than private/internal 
information. 

Robert

On Aug 12, 2011, at 8/127:37 PM , Kalle Korhonen wrote:

> Well, you can have the same view on all mixins, that they are hacks to
> get around design issues with components. Any mixin may break if you
> change the internal implementation of a component it's applied to.
> Anyway wish you guys had voiced your opinions earlier when Dragan was
> begging for comments. Of the three solutions he implemented, an
> advice, modifying the grid and this EmbeddedMixin, the last one seemed
> cleanest and most generic. 1607 has tests so I told him not to worry
> too much about having specific tests for EmbeddedMixin yet although he
> offered to write some already. Obviously I partly wanted to force some
> comments out by applying the patch, but please do suggest a better
> solution for the case if you disagree with the concept.
> 
> Kalle
> 
> 
> On Fri, Aug 12, 2011 at 4:41 PM, Josh Canfield <[email protected]> wrote:
>> I'm also -1. It definitely seems like a hack to get around a design
>> issue with a component.
>> 
>> On Fri, Aug 12, 2011 at 3:45 PM, Howard Lewis Ship <[email protected]> wrote:
>>> See notes here:
>>> 
>>> https://issues.apache.org/jira/browse/TAP5-1606?focusedCommentId=13084434#comment-13084434
>>> 
>>> I'm -1 on this change. It goes against an important part of the
>>> Tapestry design: that embedded components are part of a components
>>> internal structure and not exposed to the outside world as a safeguard
>>> that allows a component implementation to be changed without breaking
>>> usages of the component. This @EmbeddedMixin tears apart that barrier.
>>> 
>>> --
>>> Howard M. Lewis Ship
>>> 
>>> Creator of Apache Tapestry
>>> 
>>> The source for Tapestry training, mentoring and support. Contact me to
>>> learn how I can get you up and productive in Tapestry fast!
>>> 
>>> (971) 678-5210
>>> http://howardlewisship.com
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to