Alguem consegueria me informar pq nesse metodo chegou o id, ao inves do objeto todo ? Eu vendo professor executar realmente achei q chegaria o tostring do objeto Autor. E teria que trabalhar com essa string para transformar o objeto. Mas chegou o id, show de bola mas pq ? Não ficou claro . A explicação q eu me dei é ele procura por algum atributo com o nome 'id'
@Override
public Object getAsObject(FacesContext context, UIComponent component, String id) {
if (id == null || id.trim().isEmpty())
return null;
System.out.println("Converter id: " + id);
Autor autor = new Autor();
autor.setId(Integer.valueOf(id));
return autor;
}
lembrando q conforme o codigo abaixo a tela passa o objeto inteiro :
<h:selectManyListbox value="#{adminLivrosBean.livro.autores}"
converter="autorConverter" id="autores">
<f:selectItems var="autor" value="#{adminLivrosBean.autores}"
itemValue="#{autor}" itemLabel="#{autor.nome}" />
</h:selectManyListbox>