package br.gov.al.saude.test.builder;
import java.util.Set;
import br.gov.al.saude.framework.core.util.VerificadorUtil;
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.view.UnidadeView;
import br.gov.al.saude.scg.model.view.PessoaFisicaView;
import br.gov.al.saude.test.unidade.generic.builder.AbstractEntidadeBuilder;
import br.gov.al.saude.test.util.StringUtils;
public class GrupoAvaliacaoBuilder
extends AbstractEntidadeBuilder
<GrupoAvaliacao
> {
public GrupoAvaliacaoBuilder
(GrupoAvaliacao grupoAvaliacao
) {
entidade = grupoAvaliacao
;
}
public GrupoAvaliacaoBuilder
() {
super();
}
public GrupoAvaliacaoBuilder comSequencial
(String sequencial
) {
entidade.
setSequencial(StringUtils.
valueLong(sequencial
));
return this;
}
public GrupoAvaliacaoBuilder comDescricao
(String descricao
) {
entidade.
setDescricao(descricao
);
return this;
}
public GrupoAvaliacaoBuilder comObservacao
(String observacao
) {
entidade.
setObservacao(observacao
);
return this;
}
public GrupoAvaliacaoBuilder comTipoSituacao
(String tipoSituacao
) {
entidade.
setTipoSituacao(tipoSituacao
);
return this;
}
public GrupoAvaliacaoBuilder comServidorAvaliador
(PessoaFisicaView servidorAvaliador
) {
entidade.
setAvaliador(servidorAvaliador
);
return this;
}
public GrupoAvaliacaoBuilder comServidoresAvaliados
(Set<ServidorAvaliacao
> servidoresAvaliados
) {
entidade.
setServidoresAvaliados(servidoresAvaliados
);
return this;
}
public GrupoAvaliacaoBuilder comUnidade
(UnidadeView unidade
) {
entidade.
setUnidade(unidade
);
return this;
}
public GrupoAvaliacaoBuilder comCronograma
(Cronograma cronograma
) {
entidade.
setCronograma(cronograma
);
return this;
}
public GrupoAvaliacaoBuilder comCronograma
(String numeroAno
) {
Cronograma cronograma =
null;
if(VerificadorUtil.
naoEstaNuloOuVazio(numeroAno
)){
cronograma =
new CronogramaBuilder
()
.
comNumeroAno(numeroAno
)
.
build();
}
entidade.
setCronograma(cronograma
);
return this;
}
public GrupoAvaliacaoBuilder comUnidade
(String codigoUnidade
) {
UnidadeView unidade =
null;
if(VerificadorUtil.
naoEstaNuloOuVazio(codigoUnidade
)){
unidade =
new UnidadeViewBuilder
()
.
comSequencial(codigoUnidade
)
.
build();
}
entidade.
setUnidade(unidade
);
return this;
}
@
Override
protected void inicializarDadosDefault
() {
entidade =
new GrupoAvaliacao
();
}
public GrupoAvaliacaoBuilder comAvaliador
(String sequencialPessoa
) {
PessoaFisicaView avaliador =
null;
if(VerificadorUtil.
naoEstaNuloOuVazio(sequencialPessoa
)){
avaliador =
new PessoaFisicaViewBuilder
().
comSequencialPessoa(sequencialPessoa
).
build();
}
entidade.
setAvaliador(avaliador
);
return this;
}
}