Pessoal, dúvida basica, relacionada a conceito do framework mesmo.
O ManagerBean utilizado para controlar o escopo no JSF é um ValueObject/Bean tradicional, não é?
O que eu quero dizer que o MB é composto por atributos, seus métodos acessores (getters e setters) + os métodos controladores das funcionalidas, ou seja, Incluir, Alterar, Listar, etc.
Isso é mesmo obrigatório? Fixar tudo em uma única classe?
Gostaria de entender melhor o engine por este ponto de vista…
Um exemplo de MB como foi descrito:
public class Editora implements Serializable{
private static final String SUCESS = "success";
private static final String FAIL = "failure";
private EditoraDao edao = new EditoraDao();
public ArrayList<Editora> listaEditora = new ArrayList<Editora>();
private int id_editora;
private String nm_editora;
private String fl_ativo;
public Editora(int id_editora, String nm_editora, String fl_ativo){
this.id_editora = id_editora;
this.nm_editora = nm_editora;
this.fl_ativo = fl_ativo;
}
public Editora(){
findEditora();
}
public int getId_editora(){
return id_editora;
}
public void setId_editora(int id_editora){
this.id_editora = id_editora;
}
public String getNm_editora(){
return nm_editora;
}
public void setNm_editora(String nm_editora){
this.nm_editora = nm_editora;
}
public String getFl_ativo(){
return fl_ativo;
}
public void setFl_ativo(String fl_ativo){
this.fl_ativo = fl_ativo;
}
public void setEditora(Editora e){
this.setId_editora( e.getId_editora() );
this.setNm_editora( e.getNm_editora() );
this.setFl_ativo( e.getFl_ativo() );
}
public Editora getEditora(){
return new Editora(this.getId_editora(), this.getNm_editora(), this.getFl_ativo());
}
public void getEditora(int id){
this.setEditora( edao.getEditora(id) );
}
public ArrayList<Editora> getListaEditora(){
return listaEditora;
}
public void setListaEditora(ArrayList<Editora> listaEditora){
this.listaEditora = listaEditora;
}
public String findEditora(){
listaEditora = edao.getEditora();
if( listaEditora!=null && listaEditora.size()>0 ){
return SUCESS;
}else{
return FAIL;
}
}
public String gravarNovo(){
Editora e = this.getEditora();
if( edao.gravar(e) ){
return SUCESS;
}else{
return FAIL;
}
}
public String atualizar(){
Editora e = this.getEditora();
if( edao.atualizar(e) ){
return SUCESS;
}else{
return FAIL;
}
}
public String delEditora(int id){
if( edao.apagar(id) ){
return SUCESS;
}else{
return FAIL;
}
}
public void editar(ActionEvent evento){
UIParameter param = (UIParameter) evento.getComponent().findComponent("editoraId");
Integer codE = Integer.parseInt( param.getValue().toString() );
this.getEditora( codE );
}
public void apagar(ActionEvent evento){
UIParameter param = (UIParameter) evento.getComponent().findComponent("editoraDelId");
Integer codE = Integer.parseInt( param.getValue().toString() );
this.delEditora( codE );
}
}
Thanks!