package com.algaworks.pedidovenda.converter;
import java.util.Map;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.inject.Inject;
import org.apache.commons.lang3.StringUtils;
import org.primefaces.convert.ClientConverter;
import com.algaworks.pedidovenda.model.Categoria;
import com.algaworks.pedidovenda.repository.Categorias;
@FacesConverter(forClass = Categoria.class)
public class CategoriaConverter implements Converter, ClientConverter {
@Inject
private Categorias categorias;
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Categoria retorno = null;
if (StringUtils.isNotEmpty(value)) {
Long id = new Long(value);
retorno = categorias.porId(id);
}
return retorno;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
if (value != null) {
return ((Categoria) value).getId().toString();
}
return "";
}
@Override
public Map<String, Object> getMetadata() {
return null;
}
@Override
public String getConverterId() {
return "com.algaworks.Categoria";
}
}