protected FaceletHandler getWidgetPropsHandler(FaceletContext ctx, FaceletHandlerHelper helper, Widget widget,
FaceletHandler nextHandler, boolean hasOtherOptions) {
if (!hasOtherOptions) {
return super.getWidgetPropsHandler(ctx, helper, widget, nextHandler);
}
if (shouldAddWidgetPropsHandler(widget)) {
final String itemValue = ComponentTagUtils.getBareValueName(
(String) widget.getProperty(SelectPropertyMappings.itemValue.name()));
final String label = new StringBuilder().append("#{")
.append(LABELS)
.append("[")
.append(itemValue)
.append("]}")
.toString();
WidgetSelectOption selectOption = new WidgetSelectOptionsImpl(
widget.getProperty(SelectPropertyMappings.selectOptions.name()),
(String) widget.getProperty(SelectPropertyMappings.var.name()), label,
(String) widget.getProperty(SelectPropertyMappings.itemValue.name()),
widget.getProperty(SelectPropertyMappings.itemDisabled.name()),
widget.getProperty(SelectPropertyMappings.itemRendered.name()));
return getOptionFaceletHandler(ctx, helper, widget, selectOption, nextHandler);
}
return null;
}