Hi<br><br>Yesterday I attached a patch for this issue:<br><br><a href="https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=859">https://javaserverfaces-spec-public.dev.java.net/issues/show_bug.cgi?id=859</a><br>
<br>and then Ed Burns propose another similar one, but filling the gaps in <br>documentation and integration with automated tests (That&#39;s cool!).<br><br>Instead call it &quot;methodType&quot;, it was proposed targetAttributeName and added this<br>
documentation:<br><br>&quot;...This attribute allows the name of the attribute exposed to the using<br>page to differ from the one actually used in the implementation.  For<br>example, consider a composite component that contains two buttons, one<br>
that means &quot;submit&quot; and one that means &quot;cancel&quot;.  It is natural to want<br>to declare two composite component attributes to allow these buttons to<br>be customized, for example, &quot;submitAction&quot; and &quot;cancelAction&quot;.  For both<br>
of these buttons, the method expression should be retargeted to the<br>inner button&#39;s &quot;action&quot; attribute.  This scenario would be expressed as<br>follows...&quot;<br><br>I see that from other point of view. I think that the attribute proposed indicates<br>
the attribute will be &quot;consumed&quot; as an method expression of type &quot;action&quot;.<br><br>The proposal using &quot;methodType&quot; looks like this in the test app:<br><br>  &lt;cc:attribute name=&quot;submitAction&quot; targets=&quot;submitButton&quot; methodType=&quot;action&quot;/&gt;<br>
  &lt;cc:attribute name=&quot;cancelAction&quot; targets=&quot;cancelButton&quot; methodType=&quot;action&quot;/&gt;<br><br>But the intention including the patch on 755 (allow #{cc.attrs.action}) is this<br>should looks like this (I&#39;m trying to keep them separate to prevent confusions):<br>
<br>  &lt;cc:attribute name=&quot;submitAction&quot; methodType=&quot;action&quot;/&gt;<br>  &lt;cc:attribute name=&quot;cancelAction&quot; methodType=&quot;action&quot;/&gt;<br><br>And the proposal using &quot;targetAttributeName&quot; looks like this:<br>
<br>  &lt;cc:attribute name=&quot;submitAction&quot; targetAttributeName=&quot;action&quot;<br>                method-signature=&quot;java.lang.Object action()&quot;/&gt;<br>  &lt;cc:attribute name=&quot;cancelAction&quot; targetAttributeName=&quot;action&quot;<br>
                method-signature=&quot;java.lang.Object action()&quot;/&gt;<br><br>In my opinion, the syntax using &quot;methodType&quot; is preferred. In that one, we are just<br>defining the attribute is used for the behavioral interface ActionSource, as an &quot;action&quot;,<br>
and the method-signature declaration is not necessary anymore.<br><br>Note that this syntax already works (partially) without the patch:<br><br>  &lt;cc:attribute name=&quot;submitAction&quot; method-signature=&quot;java.lang.Object action()&quot;/&gt;<br>
<br>I said &quot;partially&quot; because these two method signatures are valid for action:<br><br>java.lang.Object action()<br>void action()<br><br>The problem is more clear when &quot;actionListener&quot; is considered because it has these two<br>
valid signatures (since JSF 2):<br><br>void method(javax.faces.event.ActionEvent )<br>void method()<br><br>It is not possible to map it using method-signature, because it only allows one of them, but<br>if we use a notation like this:<br>
<br>  &lt;cc:attribute name=&quot;submitActionListener&quot; methodType=&quot;actionListener&quot;/&gt;<br><br>The previous two signatures are assumed and problem solved. I still think <br>method-signature should allow multiple ones using &#39;;&#39;, but before that (I want to propose a<br>
patch but not yet), I prefer the proposed patch using methodType.<br><br>Suggestions are welcome.<br><br>best regards,<br><br>Leonardo Uribe <br><br><br>