package br.edu.cesmac.sic.controller.beans;
import java.io.Serializable;
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import javax.inject.Named;
import org.springframework.context.annotation.Scope;
import br.edu.cesmac.core.generic.GenericService;
import br.edu.cesmac.sac.shared.views.ProfessorView;
import br.edu.cesmac.sic.controller.beans.consultademanda.ProfessorConsultaPorDemanda;
import br.edu.cesmac.sic.core.domain.model.dto.ParametrosConsultaProfessorDTO;
import br.edu.cesmac.sic.core.domain.service.ProfessorService;
import br.edu.cesmac.web.generic.AbstractBean;
@Named
@Scope
("view")
public class ProfessorBean
extends AbstractBean
<ProfessorView
> implements Serializable {
private static final long serialVersionUID = 1L
;
private boolean acaoEditar =
false;
private ProfessorConsultaPorDemanda lazy
;
private ProfessorService professorService
;
@Inject
public ProfessorBean
(ProfessorConsultaPorDemanda lazy, ProfessorService professorService
) {
this.
lazy = lazy
;
this.
professorService = professorService
;
}
@
Override
public ProfessorView getId
() {
return getEntidade
();
}
@
Override
public GenericService
<ProfessorView
> getService
() {
return professorService
;
}
@
Override
public void limparEntidade
() {
setEntidade
(new ProfessorView
());
}
@
Override
public ProfessorView getEntidade
() {
return entidade
;
}
public ProfessorConsultaPorDemanda getLazy
() {
return lazy
;
}
public void prepararConsultaDemanda
() {
lazy.
setarParametrosConsulta(getParametrosConsulta
());
}
public boolean isAcaoEditar
() {
return acaoEditar
;
}
public void setAcaoEditar
(boolean acaoEditar
) {
this.
acaoEditar = acaoEditar
;
}
@PostConstruct
public void preCarregamento
() {
parametrosConsulta =
new ParametrosConsultaProfessorDTO
();
parametrosConsulta.
setEntidade(new ProfessorView
());
prepararConsultaDemanda
();
}
public void limparParametrosConsulta
() {
preCarregamento
();
}
}