
se.wfh.libs.common.web.converter.DoubleConverter Maven / Gradle / Ivy
package se.wfh.libs.common.web.converter;
import java.text.NumberFormat;
import java.text.ParseException;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.ConverterException;
import javax.faces.convert.FacesConverter;
@FacesConverter(forClass = Double.class, value = "wfh.DoubleConverter")
public class DoubleConverter implements Converter {
private static final NumberFormat DOUBLE_FMT = NumberFormat
.getNumberInstance();
public DoubleConverter() {
DOUBLE_FMT.setMinimumFractionDigits(2);
DOUBLE_FMT.setMaximumFractionDigits(2);
}
@Override
public Object getAsObject(final FacesContext context,
final UIComponent component, final String value)
throws ConverterException {
try {
Number obj = (Number) DOUBLE_FMT.parseObject(value);
return obj.doubleValue();
} catch (ParseException ex) {
throw new ConverterException("Der Wert ist ungültig.", ex);
}
}
@Override
public String getAsString(final FacesContext context,
final UIComponent component, final Object value) {
return DOUBLE_FMT.format(((Number) value).doubleValue());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy