/* (c) 2016 Open Source Geospatial Foundation - all rights reserved * This code is licensed under the GPL 2.0 license, available at the root * application directory. */ package org.geoserver.web.wicket; import java.util.List; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.model.IModel; import org.apache.wicket.util.convert.IConverter; /** * A TextField for a space separated list of {@code java.lang.Double} representations that allows for arbitrary number of decimal places, since the * default TextField rounds up doubles to three decimals. * * @author Andrea Aime - GeoSolutions */ public class DecimalListTextField extends TextField<List> { private static final long serialVersionUID = 1L; DecimalListConverter decimalListConverter; public DecimalListTextField(String id, IModel<List> model) { super(id, model, List.class); decimalListConverter = new DecimalListConverter(); setConvertEmptyInputStringToNull(false); } public void setMaximumFractionDigits(int maximumFractionDigits) { decimalListConverter.setMaximumFractionDigits(maximumFractionDigits); } @SuppressWarnings("unchecked") @Override public <C> IConverter<C> getConverter(Class<C> type) { if (List.class.isAssignableFrom(type)) { return (IConverter<C>) decimalListConverter; } return super.getConverter(type); } }