package org.jboss.seam.ui.converter;
import java.util.concurrent.atomic.AtomicBoolean;
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 AtomicBooleanConverter implements Converter
{
public Object getAsObject(FacesContext ctx, UIComponent ui, String string)
{
return string != null && string.trim().length() > 0 ? new AtomicBoolean(Boolean.parseBoolean(string.trim())) : null;
}
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 AtomicBoolean)
{
string = ((AtomicBoolean) object).toString();
}
else
{
throw new ConverterException("Received an instance of " + object.getClass().getName() + ", but was expecting an instance of " + AtomicInteger.class.getName());
}
}
return string;
}
}