PROPOSED CHANGES
ID Category Description
C001 errata

The escape attribute for UISelectItem and SelectItem isn't documented very well.

  1. Javadocs for UISelectItem has the methods to manipulate the escape property, however the class docs do not mention that this property is used with creating a javax.faces.model.SelectItem instance.
  2. Javadocs for javax.faces.model.SelectItem methods setEscape(boolean) and isEscape() are not complete. They basically state they manipulate the escape property but it's not clear (at least not without reviewing UISelectItem) what the escape attribute is for. These docs should be enhanced.
  3. The spec document mentions the escape attribute (wrt UISelectItem/SelectItem) in the preface and in the documentation for f:selectItem. Chapter 4 of the spec, which talks about the properites of UISelectItem and SelectItem, makes no mention of this attribute and it should.
  4. The RenderKit docs for rendering options should make clear the usage of the escape attribute.

Justification:

Inconsistencies in the documentation has already led to confusion in the community.

Issue 430

C002 errata

SelectItemGroup: escape and disabled properties

Specify that the escape property is currently ignored for SelectItemGroup.

Specify that if the parent SelectItem is disabled then disabled="disabled" must be rendered on the SelectItemGroup.

The RenderKit docs and the Javadocs must make this clear.

Section 4.2.3 of the specification must be updated accordingly.

Justification:

Inconsistencies in the documentation has already led to confusion in the community.

Issue 424

C003 errata

ValueExpression expected type for UISelectBoolean should be java.lang.Boolean not java.lang.Object

The current 1.2 TLD for the HTML components has java.lang.Object as the deferred type for the UISelectBoolean checkbox component. The problem with this is that if someone sets an initial String value of "true", the value isn't coerced to Boolean causing a ClassCastException if someone called UISelectBoolean.isSelected() instead of UISelectBoolean.getValue().

The TLD must be updated accordingly.

Justification:

The only real values for this component are true or false. Having java.lang.Object as the expected type of the value would allow a string value of "true" to cause a ClassCastException in the UISelectBoolean.isSelected method.

Issue 425

C004 errata

Clarify UISelectBoolean with respect to Converters

Although a converter can be specified with UISelectBoolean components, the only real values can be true or false, or from a UI standpoint, a check box is selected or not selected. Per the change log item C003, the expected type for UISelectBoolean would be java.lang.Boolean so the use of a converter is not needed.

The clarification that the use of a converter is not needed for UISelectBoolean components should be made:

  • Section 3.3.3 of the specification should mention that specifying a converter on a UISelectBoolean component is not needed.
  • In the TLD description for the converter attribute on the selectBooleanCheckbox tag

Justification:

With C003 the expected type for UISelectBoolean would be java.lang.Boolean so the use of a converter is not needed.

Issue 429