All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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