package play.utils.meta.form; import java.util.Map; import java.util.TreeMap; import play.api.i18n.Lang; import play.twirl.api.Html; import play.data.Form.Field; import play.utils.meta.FieldMetadata; import scala.Symbol; import scala.Tuple2; import views.html.helper.FieldConstructor; public class SelectWidget extends FormFieldWidget { private Map<Object, String> options; public SelectWidget(FieldMetadata fieldMetadata) { super(fieldMetadata); Class<?> declaringClass = field().getDeclaringClass(); String parentClassName = declaringClass.getSimpleName(); Object[] constants=fieldMetadata.getType().getEnumConstants(); options = new TreeMap<Object, String>(); for (Object constant : constants) { options.put(constant, parentClassName + "." + constant); } } @Override protected Html render(Field formField, Tuple2<Symbol, Object>[] args, FieldConstructor fieldConstructor, Lang lang) { return play.utils.meta.form.html.selectWidget.render(formField, options, args, fieldConstructor, lang); } }