Bom dia, estou precisando montar uma estrutura para um modulo de timesheet e gostaria de fazer de uma forma legal utilizando interface.
Tenho que montar uma classe de timesheet e varios modulos irão gerar esse tipo de timesheet…
Por exemplo: Terei Timesheet com associação de Processo, com associação de Projeto, com associação de Procuração. (No caso Processo, Projeto e Procuração serão o irão diferenciar uma timesheet da outra);
Gostaria de algumas sugestoes em cima da ideia que eu tive.
public interface Timesheet{
public Long getTimesheetId();
// Demais Metodos
}
public class TimesheetProcesso implements Timesheet{
private Long timesheetId;
private Processo processo;
@Override
public Long getTimesheetId() {
return this.timesheetId;
}
public void setTimesheetId(Long timesheetId) {
this.timesheetId = timesheetId;
}
public Processo getProcesso() {
return processo;
}
public void setProcesso(Processo processo) {
this.processo = processo;
}
}
public class TimesheetProjeto implements Timesheet{
private Long timesheetId;
private Projeto projeto;
public Long getTimesheetId() {
return timesheetId;
}
public void setTimesheetId(Long timesheetId) {
this.timesheetId = timesheetId;
}
public Projeto getProjeto() {
return projeto;
}
public void setProjeto(Projeto projeto) {
this.projeto = projeto;
}
}
Seria mais ou menos isso? assim ficaria legal? ou teria opções melhores pra fazer?
Se puderem me ajudar agradeço muito, Obrigado.