compareValue = coerceToModelType(context, itemValue, value.getClass());
@Override public Object getConvertedValue(FacesContext context, UIComponent component, Object submittedValue) throws ConverterException { if (component instanceof UISelectMany) { // Need to set the 'TARGET_COMPONENT_ATTRIBUTE_NAME' request attr so the // coerce-value call in the jsf-api UISelectMany.matchValue will work // (need a better way to determine the currently processing UIComponent ...) RequestStateManager.set(context, TARGET_COMPONENT_ATTRIBUTE_NAME, component); return convertSelectManyValue(context, ((UISelectMany) component), (String[]) submittedValue); } else { return convertSelectOneValue(context, ((UISelectOne) component), (String) submittedValue); } }
private Set<String> getDisabledSelectItemValues(FacesContext context, UIComponent component) { Set<String> disabledSelectItemValues = new HashSet<>(2); RenderKitUtils.getSelectItems(context, component).forEachRemaining(selectItem -> { if (selectItem.isDisabled()) { disabledSelectItemValues.add(getFormattedValue(context, component, selectItem.getValue())); } }); return disabledSelectItemValues; }
writeIdAttributeIfNecessary(context, writer, component); writer.writeAttribute("name", component.getClientId(context), "clientId"); if (!getMultipleText(component).equals("")) { writer.writeAttribute("multiple", true, "multiple"); int count = renderOptions(context, component, items); context.setResponseWriter(writer); writeDefaultSize(writer, size); renderPassThruAttributes(context, writer, component, ATTRIBUTES, getNonOnChangeBehaviors(component)); renderXHTMLStyleBooleanAttributes(writer, component);
collection = createCollectionFromHint(collectionTypeHint); } else { Collection<Object> currentValue = (Collection<Object>) uiSelectMany.getValue(); if (currentValue != null) { collection = cloneValue(currentValue); collection = createCollection(currentValue, collectionType); collection = bestGuess(collectionType, length); String asString = getFormattedValue(context, uiSelectMany, groupItem.getValue()); availableItems.put(asString, groupItem.getValue()); String asString = getFormattedValue(context, uiSelectMany, item.getValue()); availableItems.put(asString, item.getValue());
writer.startElement("option", component); String valueString = getFormattedValue(context, component, curItem.getValue(), converter); writer.writeAttribute("value", valueString, "value"); boolean containsValue; if (submittedValues != null) { containsValue = containsaValue(submittedValues); if (containsValue) { valuesArray = submittedValues; if (isSelected(context, component, itemValue, valuesArray, converter)) { writer.writeAttribute("selected", true, "selected");
Object currentSelections = getCurrentSelectedValues(component); Object[] submittedValues = getSubmittedSelectedValues(component); RequestStateManager.set(context, RequestStateManager.TARGET_COMPONENT_ATTRIBUTE_NAME, ((SelectItemGroup) item).getSelectItems(); for (int i = 0; i < itemsArray.length; ++i) { renderOption(context, component, converter, renderOption(context, component, converter,
writeIdAttributeIfNecessary(context, writer, component); writer.writeAttribute("name", component.getClientId(context), "clientId"); writer.writeAttribute("class", styleClass, "styleClass"); if (!getMultipleText(component).equals("")) { writer.writeAttribute("multiple", true, "multiple"); int itemCount = getOptionNumber(items); if (logger.isLoggable(Level.FINE)) { logger.fine("Rendering " + itemCount + " options"); size = itemCount; writeDefaultSize(writer, size); component); renderOptions(context, component, items);
Object currentSelections = getCurrentSelectedValues(component); Object[] submittedValues = getSubmittedSelectedValues(component); Map<String,Object> attributes = component.getAttributes(); boolean componentDisabled = Util.componentIsDisabled(component); (String) attributes.get("enabledClass"), componentDisabled, isHideNoSelection(component)); RequestStateManager.set(context, RequestStateManager.TARGET_COMPONENT_ATTRIBUTE_NAME, ((SelectItemGroup) item).getSelectItems(); for (int i = 0; i < itemsArray.length; ++i) { if (renderOption(context, component, selectComponent, if (renderOption(context, component, selectComponent,
convertedValue = convertSelectManyValuesForModel(context, uiSelectMany, modelType, newValues); Object value = valueExpression.getValue(context.getELContext()); if (value != null) { convertedValue = convertSelectManyValuesForModel(context, uiSelectMany, value.getClass(), newValues); convertedValue = convertSelectManyValuesForArray(context, uiSelectMany, Object.class, newValues);
result = convertSelectManyValuesForModel(context, uiSelectMany, modelType, Object value = valueExpression.getValue(context.getELContext()); if(value != null) { result = convertSelectManyValuesForModel(context, uiSelectMany, value.getClass(), result = convertSelectManyValues(context, uiSelectMany, Object[].class, newValues);
writeIdAttributeIfNecessary(context, writer, component); writer.writeAttribute("name", component.getClientId(context), "clientId"); if (!getMultipleText(component).equals("")) { writer.writeAttribute("multiple", true, "multiple"); int count = renderOptions(context, component, items); context.setResponseWriter(writer); writeDefaultSize(writer, size); renderPassThruAttributes(context, writer, component, ATTRIBUTES, getNonOnChangeBehaviors(component)); renderXHTMLStyleBooleanAttributes(writer, component);
collection = createCollectionFromHint(collectionTypeHint); } else { Collection<Object> currentValue = (Collection<Object>) uiSelectMany.getValue(); if (currentValue != null) { collection = cloneValue(currentValue); collection = createCollection(currentValue, collectionType); collection = bestGuess(collectionType, length); String asString = getFormattedValue(context, uiSelectMany, groupItem.getValue()); availableItems.put(asString, groupItem.getValue()); String asString = getFormattedValue(context, uiSelectMany, item.getValue()); availableItems.put(asString, item.getValue());
String valueString = getFormattedValue(context, component, curItem.getValue(), converter); boolean containsValue; if (submittedValues != null) { containsValue = containsaValue(submittedValues); if (containsValue) { valuesArray = submittedValues; boolean isSelected = isSelected(context, component, itemValue, valuesArray, converter); if (optionInfo.isHideNoSelection() && curItem.isNoSelectionOption() && currentSelections != null && !isSelected) { return false;
Object currentSelections = getCurrentSelectedValues(component); Object[] submittedValues = getSubmittedSelectedValues(component); if (renderOption(context, component, selectComponent, converter, element, currentSelections, submittedValues, optionInfo)) { count++; if (renderOption(context, component, selectComponent, converter, item, currentSelections, submittedValues, optionInfo)) { count++;
convertedValue = convertSelectManyValuesForModel(context, uiSelectMany, modelType, newValues); Object value = valueExpression.getValue(context.getELContext()); if (value != null) { convertedValue = convertSelectManyValuesForModel(context, uiSelectMany, value.getClass(), newValues); convertedValue = convertSelectManyValuesForArray(context, uiSelectMany, Object.class, newValues);
result = convertSelectManyValuesForModel(context, uiSelectMany, modelType, Object value = valueExpression.getValue(context.getELContext()); if(value != null) { result = convertSelectManyValuesForModel(context, uiSelectMany, value.getClass(), result = convertSelectManyValues(context, uiSelectMany, Object[].class, newValues);
writeIdAttributeIfNecessary(context, writer, component); writer.writeAttribute("name", component.getClientId(context), "clientId"); writer.writeAttribute("class", styleClass, "styleClass"); if (!getMultipleText(component).equals("")) { writer.writeAttribute("multiple", true, "multiple"); int count = renderOptions(context, component, items); context.setResponseWriter(writer); size = count; writeDefaultSize(writer, size); component, ATTRIBUTES, getNonOnChangeBehaviors(component)); RenderKitUtils.renderXHTMLStyleBooleanAttributes(writer, component);
collection = createCollectionFromHint(collectionTypeHint); } else { Collection<Object> currentValue = (Collection<Object>) uiSelectMany.getValue(); if (currentValue != null) { collection = cloneValue(currentValue); collection = createCollection(currentValue, collectionType); collection = bestGuess(collectionType, length); String asString = getFormattedValue(context, uiSelectMany, groupItem.getValue()); availableItems.put(asString, groupItem.getValue()); String asString = getFormattedValue(context, uiSelectMany, item.getValue()); availableItems.put(asString, item.getValue());
String valueString = getFormattedValue(context, component, curItem.getValue(), converter); boolean containsValue; if (submittedValues != null) { containsValue = containsaValue(submittedValues); if (containsValue) { valuesArray = submittedValues; boolean isSelected = isSelected(context, component, itemValue, valuesArray, converter); if (optionInfo.isHideNoSelection() && curItem.isNoSelectionOption() && currentSelections != null && !isSelected) { return false;