Documented Approach:
The Helper class will be separated into two AttributeConstants H: and ExtendedAttributeConstants ICE:. H: does not change over time. Each ICE: needs a new one. This helps with build cycle.
com.icesoft.faces.components.AttributeConstants
com.icesoft.faces.components.ExtendedAttributeConstants
Pass thru attributes:
A list of attributes from w3c html attributes where component has concrete implementation, the attribute in the list doe not need to handled specifically. the attribute contain String and integer type only, no other types.
Coding style with PassThruAttributes in Renderer, the following suggestion as a format (not only for Performance, but also as coding style to avoid further confusion). This includes using the entire list as well.
Each Renderer if required to output PassThruAttributes.
For example:
//private static final String[] passThruAttributes = AttributeConstants.getAttributes(AttributeCOnstants.H_COMMANDBUTTON);
//handled "type",
private static final String[] passThruAttributes = new String
{"","",""}
;
handle specific code. getType outout
PassThruAttributeRenderer.renderHtmlAttributes(facesContext, uiComponent, passThruAttributes);
revision 17233.
List has been replaced with sorted array and some stale code has been removed from the different renderers.