package org.jboss.seam.ui.converter; import java.util.concurrent.atomic.AtomicInteger; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; /** * @author Dennis Byrne */ public class AtomicIntegerConverter implements Converter { public Object getAsObject(FacesContext ctx, UIComponent ui, String value) { Object object = null; if (value != null && value.trim().length() > 0) { try { object = new AtomicInteger(Integer.parseInt(value.trim())); } catch (NumberFormatException nfe) { throw new ConverterException(nfe); } } return object; } public String getAsString(FacesContext ctx, UIComponent ui, Object object) { String string = ""; if (object != null) { if (object instanceof String) { string = (String) object; } else if (object instanceof AtomicInteger) { string = ((AtomicInteger) object).toString(); } else { throw new ConverterException("Received an instance of " + object.getClass().getName() + ", but was expecting an instance of " + AtomicInteger.class.getName()); } } return string; } }