package br.com.doctors.modelo.administracao; import java.util.List; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; import br.com.caelum.vraptor.validator.Validations; import br.com.doctors.modelo.agendamento.Agendamento; import br.com.doctors.modelo.util.TipoPerfil; import com.google.common.base.Strings; /*** * * @author Bruno * */ @Entity @Table(name="medicos") public class Medico extends Pessoa { @Id @GeneratedValue private Long id; private Integer crm; private String ufRegistro; private String especialidade; // @OneToMany(mappedBy="medico") //mappedBy: nome do atributo de Consulta que est� associado com este // private List<Consulta> consultas; @OneToMany(mappedBy="medico",fetch=FetchType.LAZY) //mappedBy: nome do atributo de Agendamento que est� associado com este private List<Agendamento> agendamentos; public Long getId() { return id; } public Integer getCrm() { return crm; } public String getUfRegistro() { return ufRegistro; } public String getEspecialidade() { return especialidade; } public void setId(Long id) { this.id = id; } public void setCrm(Integer crm) { this.crm = crm; } public void setUfRegistro(String ufRegistro) { this.ufRegistro = ufRegistro; } public void setEspecialidade(String especialidade) { this.especialidade = especialidade; } public List<Agendamento> getAgendamentos() { return agendamentos; } @Override public String toString() { return String.format("%s: %s - %s (Login:%s|Senha:%s)", getNome(), crm, especialidade, getPerfil().getLogin(),getPerfil().getSenha()); } @Override public void setPerfil(PerfilUsuario perfil) { perfil.setTipo(TipoPerfil.ROLE_MEDICO); super.setPerfil(perfil); } }