package br.gov.al.saude.test.builder;
import br.gov.al.saude.rhd.model.Cronograma;
import br.gov.al.saude.rhd.model.GrupoAvaliacao;
import br.gov.al.saude.rhd.model.ServidorAvaliacao;
import br.gov.al.saude.rhd.model.ServidorAvaliacaoId;
import br.gov.al.saude.rhd.model.view.ServidorDadoFuncionalView;
import br.gov.al.saude.rhd.model.view.ServidorView;
import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder;
public class ServidorAvaliacaoBuilder
extends AbstractEntidadeBuilder
<ServidorAvaliacao
> {
public ServidorAvaliacaoBuilder
() {}
public ServidorAvaliacaoBuilder
(Cronograma cronograma, ServidorView servidorAvaliador,
String tipoEfetivoExercicio, GrupoAvaliacao grupoAvaliacao
) {
this.
comCronograma(cronograma
);
this.
comGrupoAvaliacao(grupoAvaliacao
);
this.
comServidor(servidorAvaliador
);
this.
comTipoEfetivoExercicio(tipoEfetivoExercicio
);
ServidorAvaliacaoId servidorAvaliacaoId =
new ServidorAvaliacaoId
();
servidorAvaliacaoId.
setNumeroAno(cronograma.
getNumeroAno());
servidorAvaliacaoId.
setSequencialDadoFuncionalServidor(servidorAvaliador.
getSequencialDaPessoa());
this.
comServidorAvaliacaoId(servidorAvaliacaoId
);
}
public ServidorAvaliacaoBuilder comServidorAvaliacaoId
(ServidorAvaliacaoId servidorAvaliacaoId
) {
entidade.
setServidorAvaliacaoId(servidorAvaliacaoId
);
return this;
}
public ServidorAvaliacaoBuilder comCronograma
(Cronograma cronograma
) {
entidade.
setCronograma(cronograma
);
entidade.
getServidorAvaliacaoId().
setNumeroAno(cronograma.
getNumeroAno());
return this;
}
public ServidorAvaliacaoBuilder comDadoFuncional
(ServidorDadoFuncionalView dadoFuncional
) {
entidade.
setServidorDadoFuncional(dadoFuncional
);
entidade.
getServidorAvaliacaoId().
setSequencialDadoFuncionalServidor(dadoFuncional.
getSequencial());
return this;
}
public ServidorAvaliacaoBuilder comServidor
(ServidorView servidor
) {
entidade.
getServidorDadoFuncional().
setServidorView(servidor
);
return this;
}
public ServidorAvaliacaoBuilder comTipoEfetivoExercicio
(String tipoEfetivoExercicio
) {
entidade.
setTipoEfetivoExercicio(tipoEfetivoExercicio
);
return this;
}
public ServidorAvaliacaoBuilder comGrupoAvaliacao
(GrupoAvaliacao grupoAvaliacao
) {
entidade.
setGrupoAvaliacao(grupoAvaliacao
);
return this;
}
public ServidorAvaliacaoBuilder comDescricaoJustificativa
(String justificativa
) {
entidade.
setDescricaoJustificativa(justificativa
);
return this;
}
@
Override
protected void inicializarDadosDefault
() {
entidade =
new ServidorAvaliacao
();
entidade.
setServidorAvaliacaoId(new ServidorAvaliacaoId
());
}
}