Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

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.AlunoView;
import br.edu.cesmac.sic.controller.beans.consultademanda.AlunoConsultaPorDemanda;
import br.edu.cesmac.sic.core.domain.model.dto.ParametrosConsultaAlunoDTO;
import br.edu.cesmac.sic.core.domain.service.AlunoService;
import br.edu.cesmac.web.generic.AbstractBean;

@Named
@Scope("view")
public class AlunoBean extends AbstractBean<AlunoView> implements Serializable {

        private static final long serialVersionUID = 1L;
       
        private boolean acaoEditar = false;
       
        private AlunoConsultaPorDemanda lazy;

        private AlunoService alunoService;
       
        @Inject
        public AlunoBean(AlunoConsultaPorDemanda lazy, AlunoService alunoService) {
                this.lazy = lazy;
                this.alunoService = alunoService;
        }

        @Override
        public AlunoView getId() {
                return getEntidade();
        }

        @Override
        public GenericService<AlunoView> getService() {
                return alunoService;
        }

        @Override
        public void limparEntidade() {
                setEntidade(new AlunoView());
        }
       
        @Override
        public AlunoView getEntidade() {
                return entidade;
        }

        public AlunoConsultaPorDemanda 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() {
                entidade = new AlunoView();
                parametrosConsulta = new ParametrosConsultaAlunoDTO();
                parametrosConsulta.setEntidade(entidade);
                prepararConsultaDemanda();
        }
       
        public void limparParametrosConsulta() {
                preCarregamento();
        }
       
}