composite:interface, attribute and facet should handle unspecified attributes 
and should expose certain values only in Development stage (spec rev A)
-----------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: MYFACES-2825
                 URL: https://issues.apache.org/jira/browse/MYFACES-2825
             Project: MyFaces Core
          Issue Type: Task
          Components: JSR-314
    Affects Versions: 2.0.0
            Reporter: Jakob Korherr
            Assignee: Jakob Korherr


>From the spec rev A, section 3.6.2.1:

- The "name" attributes of the <composite:interface/ > element is exposed using 
the corresponding method on the composite component BeanDescriptor. If 
ProjectStage is Development, The "displayName", "shortDescription", "expert", 
"hidden", and "preferred" attributes of the <composite:interface/ > element are 
exposed using the corresponding methods on the composite component 
BeanDescriptor. Any additional attributes on <composite:interface/ > are 
exposed as attributes accessible from the getValue() and attributeNames() 
methods on BeanDescriptor (inherited from FeatureDescriptor). The return type 
from getValue() must be a javax.el.ValueExpression for such attributes.

- Any attributes declared by the composite component author using 
<composite:attribute/ > elements must be exposed in the array of 
PropertyDescriptors returned from getPropertyDescriptors() on the composite 
component BeanInfo.
For each such attribute, for any String or boolean valued JavaBeans properties 
on the interface PropertyDescriptor (and its superinterfaces) that are also 
given as attributes on a <composite:attribute/ > element, those properties must 
be exposed as properties on the PropertyDescriptor for that markup element. Any 
additional attributes on <composite:attribute/ > are exposed as attributes 
accessible from the getValue() and attributeNames() methods on 
PropertyDescriptor. The return type from getValue() must be a ValueExpression.

Although not explicitly mentioned in the spec, this also affects 
<composite:facet>, because this tag also creates a java.beans descriptor and 
this tag also has the above mentioned development attributes. A black box test 
of Mojarra confirmed this fact.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to