[jsr-314-open] #{cc} semantics
Lincoln Baxter, III
lincolnbaxter at gmail.com
Thu Sep 17 00:49:27 EDT 2009
On Tue, 2009-09-15 at 18:34 -0400, Andy Schwartz wrote:
> I feel that
> the current behavior violates the principle of least surprise (both
> Lincoln and I were surprised) and also breaks encapsulation (ie.
> introduces implementation-specific dependencies).
Andy, I agree.
+1
In every other EL situation, values are rooted in the context within
which they were defined. I didn't give it too much thought at first, but
this would definitely be counter-intuitive.
This is probably stating the obvious, but I don't want to forget about
use case #4: passing as an attribute should also behave the same way
(see inline.)
> <composite:implementation>
>
> <!-- 1. Expression directly in the implementation -->
> <h:outputText value="#{cc.attrs.value}">
>
> <!-- 2. Expression in non-composite component facet -->
> <bar:someJavaComposite>
> <f:facet name="someFacet">
> <h:outputText value="#{cc.attrs.value}">
> </f:facet>
> </bar:someJavaComponent>
>
> <!-- 3. Expression in composite component facet -->
> <foo:someCompositeComponent>
> <f:facet name="someFacet">
> <h:outputText value="#{cc.attrs.value}">
> </f:facet>
> </foo:someCompositeComponent>
>
<!-- 4. Expression in composite component attribute -->
<bar:someCompositeComponent value="#{cc.attrs.value}" />
>
> </composite:implementation>
It boggles my mind thinking about how to go about implementing this, but
it needs to happen in order to, as Andy said, "adhere to the principle
of least surprise".
--Lincoln
--
Lincoln Baxter, III
Co-Founder of OcpSoft
Author of PrettyFaces URL Rewriting for JSF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jsr-314-open-mirror/attachments/20090917/ff0d3102/attachment.html
More information about the jsr-314-open-mirror
mailing list