in impl/src/main/java/org/apache/myfaces/renderkit/html/base/HtmlCheckboxRendererBase.java [358:503]
protected String renderCheckbox(FacesContext facesContext,
UIComponent uiComponent, String value, boolean disabled, boolean checked,
boolean renderId, Integer itemNum) throws IOException
{
String clientId = uiComponent.getClientId(facesContext);
String itemId = (itemNum == null)? null : clientId +
facesContext.getNamingContainerSeparatorChar() + itemNum;
ResponseWriter writer = facesContext.getResponseWriter();
writer.startElement(HTML.INPUT_ELEM, uiComponent);
if (itemId != null)
{
writer.writeAttribute(HTML.ID_ATTR, itemId, null);
}
else if (renderId)
{
writer.writeAttribute(HTML.ID_ATTR, clientId, null);
}
writer.writeAttribute(HTML.TYPE_ATTR, HTML.INPUT_TYPE_CHECKBOX, null);
writer.writeAttribute(HTML.NAME_ATTR, clientId, null);
if (checked)
{
writer.writeAttribute(HTML.CHECKED_ATTR, HTML.CHECKED_ATTR, null);
}
if (disabled)
{
writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
}
value = value == null ? "" : value;
writer.writeAttribute(HTML.VALUE_ATTR, value, null);
Map<String, List<ClientBehavior>> behaviors = null;
if (uiComponent instanceof UISelectBoolean)
{
if (uiComponent instanceof ClientBehaviorHolder holder)
{
behaviors = holder.getClientBehaviors();
if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
{
long commonPropertiesMarked = CommonHtmlAttributesUtil.getMarkedAttributes(uiComponent);
CommonHtmlAttributesUtil.renderChangeEventProperty(writer,
commonPropertiesMarked, uiComponent);
CommonHtmlAttributesUtil.renderEventProperties(writer,
commonPropertiesMarked, uiComponent);
CommonHtmlAttributesUtil.renderFieldEventPropertiesWithoutOnchange(writer,
commonPropertiesMarked, uiComponent);
}
else
{
long commonPropertiesMarked = CommonHtmlAttributesUtil.getMarkedAttributes(uiComponent);
HtmlRendererUtils.renderBehaviorizedOnchangeEventHandler(
facesContext, writer, uiComponent, itemId != null ? itemId : clientId, behaviors);
if (isCommonEventsOptimizationEnabled(facesContext))
{
long commonEventsMarked = CommonHtmlEventsUtil.getMarkedEvents(uiComponent);
CommonHtmlEventsUtil.renderBehaviorizedEventHandlers(facesContext, writer,
commonPropertiesMarked, commonEventsMarked, uiComponent,
itemId != null ? itemId : clientId, behaviors);
CommonHtmlEventsUtil.renderBehaviorizedFieldEventHandlersWithoutOnchange(
facesContext, writer, commonPropertiesMarked, commonEventsMarked, uiComponent,
itemId != null ? itemId : clientId, behaviors);
}
else
{
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext,
writer, uiComponent, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
facesContext, writer, uiComponent,
itemId != null ? itemId : clientId, behaviors);
}
}
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
}
else
{
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED);
}
}
else
{
if (uiComponent instanceof ClientBehaviorHolder holder)
{
behaviors = holder.getClientBehaviors();
if (behaviors.isEmpty() && isCommonPropertiesOptimizationEnabled(facesContext))
{
long commonPropertiesMarked = CommonHtmlAttributesUtil.getMarkedAttributes(uiComponent);
CommonHtmlAttributesUtil.renderChangeEventProperty(writer,
commonPropertiesMarked, uiComponent);
CommonHtmlAttributesUtil.renderEventProperties(writer,
commonPropertiesMarked, uiComponent);
CommonHtmlAttributesUtil.renderFieldEventPropertiesWithoutOnchange(writer,
commonPropertiesMarked, uiComponent);
}
else
{
long commonPropertiesMarked = CommonHtmlAttributesUtil.getMarkedAttributes(uiComponent);
HtmlRendererUtils.renderBehaviorizedOnchangeEventHandler(
facesContext, writer, uiComponent, itemId != null ? itemId : clientId, behaviors);
if (isCommonEventsOptimizationEnabled(facesContext))
{
long commonEventsMarked = CommonHtmlEventsUtil.getMarkedEvents(uiComponent);
CommonHtmlEventsUtil.renderBehaviorizedEventHandlers(facesContext, writer,
commonPropertiesMarked, commonEventsMarked, uiComponent,
itemId != null ? itemId : clientId, behaviors);
CommonHtmlEventsUtil.renderBehaviorizedFieldEventHandlersWithoutOnchange(
facesContext, writer, commonPropertiesMarked, commonEventsMarked,
uiComponent, itemId != null ? itemId : clientId, behaviors);
}
else
{
HtmlRendererUtils.renderBehaviorizedEventHandlers(facesContext, writer,
uiComponent, itemId != null ? itemId : clientId, behaviors);
HtmlRendererUtils.renderBehaviorizedFieldEventHandlersWithoutOnchange(
facesContext, writer, uiComponent, itemId != null ? itemId : clientId, behaviors);
}
}
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE_AND_EVENTS);
}
else
{
HtmlRendererUtils.renderHTMLAttributes(writer, uiComponent,
HTML.INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE);
}
}
if (isDisabled(facesContext, uiComponent))
{
writer.writeAttribute(HTML.DISABLED_ATTR, HTML.DISABLED_ATTR, null);
}
if (uiComponent instanceof UISelectMany)
{
writer.endElement(HTML.INPUT_ELEM);
}
return itemId;
}