Hi

2010/10/27 Ganesh <ganesh@j4fry.org>
Can you please give a use case for multiple method signatures? The use cases that come to my mind would work fine with:

<cc:attribute name="testAction" method-signature="String method()" />


"action" could receive the following signatures:

String method()
Object method()
void method()

Really the most clear case is "actionListener":

void method(javax.faces.event.ActionEvent )
void method()
 
Concerning targetName: I must admit I don't fully understand what this is meant to do. Do you have a list of possible f:attribute types in mind (like "value", "action", "valueChangelistener", "validator" and "actionListener")? If this is the concept of targetName I'd prefer naming it "type", so we could have:

<cc:attribute name="testAction" type="action" />
<cc:attribute name="testValidator" type="validator" />


Unfortunately "type" is already used and has this description:

"...Declares that this attribute must be a ValueExpression whose expected type is given by the value of this attribute. If not specified, and no "method-signature" attribute is present, java.lang.Object  is assumed. This attribute is mutually exclusive with the "method-signature" attribute. If both attributes are present, the "method-signature" attribute is ignored..."

Maybe something like "targetProperty" could work? or maybe "methodType" or "targetMethodType"?. Valid values to this attribute will be "action", "actionListener", "validator" and "valueChangeListener".

best regards,

Leonardo Uribe