@@ -803,107 +803,39 @@ private static HtmlElement createInputElement(final String qualifiedName, final
803803 }
804804 }
805805
806- final HtmlInput result ;
807- switch (type .toLowerCase (Locale .ROOT )) {
808- case "" :
809- // This not an illegal value, as it defaults to "text"
810- // cf http://www.w3.org/TR/REC-html40/interact/forms.html#adef-type-INPUT
811- // and the common browsers seem to treat it as a "text" input so we will as well.
812- case "text" :
813- result = new HtmlTextInput (qualifiedName , page , attributeMap );
814- break ;
815-
816- case "submit" :
817- result = new HtmlSubmitInput (qualifiedName , page , attributeMap );
818- break ;
819-
820- case "checkbox" :
821- result = new HtmlCheckBoxInput (qualifiedName , page , attributeMap );
822- break ;
823-
824- case "radio" :
825- result = new HtmlRadioButtonInput (qualifiedName , page , attributeMap );
826- break ;
827-
828- case "hidden" :
829- result = new HtmlHiddenInput (qualifiedName , page , attributeMap );
830- break ;
831-
832- case "password" :
833- result = new HtmlPasswordInput (qualifiedName , page , attributeMap );
834- break ;
835-
836- case "image" :
837- result = new HtmlImageInput (qualifiedName , page , attributeMap );
838- break ;
839-
840- case "reset" :
841- result = new HtmlResetInput (qualifiedName , page , attributeMap );
842- break ;
843-
844- case "button" :
845- result = new HtmlButtonInput (qualifiedName , page , attributeMap );
846- break ;
847-
848- case "file" :
849- result = new HtmlFileInput (qualifiedName , page , attributeMap );
850- break ;
851-
852- case "color" :
853- result = new HtmlColorInput (qualifiedName , page , attributeMap );
854- break ;
855-
856- case "date" :
857- result = new HtmlDateInput (qualifiedName , page , attributeMap );
858- break ;
859-
860- case "datetime-local" :
861- result = new HtmlDateTimeLocalInput (qualifiedName , page , attributeMap );
862- break ;
863-
864- case "email" :
865- result = new HtmlEmailInput (qualifiedName , page , attributeMap );
866- break ;
867-
868- case "month" :
869- result = new HtmlMonthInput (qualifiedName , page , attributeMap );
870- break ;
871-
872- case "number" :
873- result = new HtmlNumberInput (qualifiedName , page , attributeMap );
874- break ;
875-
876- case "range" :
877- result = new HtmlRangeInput (qualifiedName , page , attributeMap );
878- break ;
879-
880- case "search" :
881- result = new HtmlSearchInput (qualifiedName , page , attributeMap );
882- break ;
883-
884- case "tel" :
885- result = new HtmlTelInput (qualifiedName , page , attributeMap );
886- break ;
887-
888- case "time" :
889- result = new HtmlTimeInput (qualifiedName , page , attributeMap );
890- break ;
891-
892- case "url" :
893- result = new HtmlUrlInput (qualifiedName , page , attributeMap );
894- break ;
895-
896- case "week" :
897- result = new HtmlWeekInput (qualifiedName , page , attributeMap );
898- break ;
899-
900- default :
806+ final HtmlInput result = switch (type .toLowerCase (Locale .ROOT )) {
807+ // This not an illegal value, as it defaults to "text"
808+ // cf http://www.w3.org/TR/REC-html40/interact/forms.html#adef-type-INPUT
809+ // and the common browsers seem to treat it as a "text" input so we will as well.
810+ case "" , "text" -> new HtmlTextInput (qualifiedName , page , attributeMap );
811+ case "submit" -> new HtmlSubmitInput (qualifiedName , page , attributeMap );
812+ case "checkbox" -> new HtmlCheckBoxInput (qualifiedName , page , attributeMap );
813+ case "radio" -> new HtmlRadioButtonInput (qualifiedName , page , attributeMap );
814+ case "hidden" -> new HtmlHiddenInput (qualifiedName , page , attributeMap );
815+ case "password" -> new HtmlPasswordInput (qualifiedName , page , attributeMap );
816+ case "image" -> new HtmlImageInput (qualifiedName , page , attributeMap );
817+ case "reset" -> new HtmlResetInput (qualifiedName , page , attributeMap );
818+ case "button" -> new HtmlButtonInput (qualifiedName , page , attributeMap );
819+ case "file" -> new HtmlFileInput (qualifiedName , page , attributeMap );
820+ case "color" -> new HtmlColorInput (qualifiedName , page , attributeMap );
821+ case "date" -> new HtmlDateInput (qualifiedName , page , attributeMap );
822+ case "datetime-local" -> new HtmlDateTimeLocalInput (qualifiedName , page , attributeMap );
823+ case "email" -> new HtmlEmailInput (qualifiedName , page , attributeMap );
824+ case "month" -> new HtmlMonthInput (qualifiedName , page , attributeMap );
825+ case "number" -> new HtmlNumberInput (qualifiedName , page , attributeMap );
826+ case "range" -> new HtmlRangeInput (qualifiedName , page , attributeMap );
827+ case "search" -> new HtmlSearchInput (qualifiedName , page , attributeMap );
828+ case "tel" -> new HtmlTelInput (qualifiedName , page , attributeMap );
829+ case "time" -> new HtmlTimeInput (qualifiedName , page , attributeMap );
830+ case "url" -> new HtmlUrlInput (qualifiedName , page , attributeMap );
831+ case "week" -> new HtmlWeekInput (qualifiedName , page , attributeMap );
832+ default -> {
901833 if (LOG .isInfoEnabled ()) {
902834 LOG .info ("Bad input type: \" " + type + "\" , creating a text input" );
903835 }
904- result = new HtmlTextInput (qualifiedName , page , attributeMap );
905- break ;
906- }
836+ yield new HtmlTextInput (qualifiedName , page , attributeMap );
837+ }
838+ };
907839 return result ;
908840 }
909841}
0 commit comments