package com.revolsys.ui.html.fields; import com.revolsys.util.CaseConverter; public class EnumerationSelectField extends SelectField { private Class<? extends Enum<?>> enumClass; public EnumerationSelectField() { } @Override public EnumerationSelectField clone() { final EnumerationSelectField field = new EnumerationSelectField(); field.setName(getName()); field.setDefaultValue(getDefaultValue()); field.setRequired(isRequired()); field.setReadOnly(isReadOnly()); field.setNullValueLabel(getNullValueLabel()); field.setEnumClass(this.enumClass); return field; } public Class<? extends Enum<?>> getEnumClass() { return this.enumClass; } public void setEnumClass(final Class<? extends Enum<?>> enumClass) { this.enumClass = enumClass; final Enum<?>[] enumConstants = enumClass.getEnumConstants(); for (final Enum<?> enumValue : enumConstants) { final String name = enumValue.name(); final String label = CaseConverter.toCapitalizedWords(name); addOption(enumValue, label); } } }