package org.vaadin.viritin.v7.fields.config;
import com.vaadin.v7.ui.OptionGroup;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
/**
* Configures fluently the OptionGroup within TypedSelect
*/
public class OptionGroupConfig {
Boolean htmlContentAllowed;
Set<Object> disabledItemIds;
public static final OptionGroupConfig build() {
return new OptionGroupConfig();
}
public OptionGroupConfig withHtmlContentAllowed(boolean htmlContentAllowed) {
this.htmlContentAllowed = htmlContentAllowed;
return this;
}
public OptionGroupConfig withDisabledItemIds(List<Object> objectList) {
if (disabledItemIds == null) {
disabledItemIds = new HashSet<>();
}
disabledItemIds.add(objectList);
return this;
}
public OptionGroupConfig withDisabledItemIds(Object... objects) {
return withDisabledItemIds(Arrays.asList(objects));
}
public void configurateOptionGroup(OptionGroup optionGroup) {
if (htmlContentAllowed != null) {
optionGroup.setHtmlContentAllowed(htmlContentAllowed);
}
if (disabledItemIds != null) {
for (Object o : disabledItemIds) {
optionGroup.setItemEnabled(o, false);
}
}
}
}