Olá, estou tendo dificuldade em como criar para que a minha classe Chefe mantenha um historico do status que o empregado envia para ele. Este chefe deve manter o historico atual e anterior que ele recebeu do empregado. Exemplificando:
TAM Tempo
5 434
3 454
Eu havia pensado em colcoar em uma lista estas informações e o mais atual colocar em primeiro com um addFirst, talvez, mas eu nao sei como fazer isso. E se no caso eu tiver mais uma informação neste Status(TAM, TEMPO, CAPACIDADE) como fazer? Alguem pode me auxliar … OBRIGADO
E aí, spiderman!
Você pode fazer algo do tipo (vê se eu entendi o que você quer):
- Você cria uma classe que será o funcionário.
[code]public class Funcionario {
private String nome;
private String cargaHoraria;
// getters e setters omitidos.
}[/code]
2. Você cria uma classe que será o status.
[code]public class Status {
private int tamanho;
private DateTime horarioAdicao;
private int capacidade;
// getters e setters omitidos.
}[/code]
3. Você cria uma classe que armazena determinado status de determinado funcionário.
[code]public class StatusFuncionario {
private Funcionario funcionario;
private Status status;
// getters e setters omitidos.
}[/code]
4. E aí cria uma classe que é o chefe que armazena os status de seus funcionários.
[code]public class Chefe{
private String nome;
private List statusFuncionarios;
public void adicionarStatusFuncionario(StatusFuncionario statusFuncionario) {
statusFuncionarios.add(statusFuncionario);
}
// getters e setters omitidos.
}[/code]
- A cada alteração dos status dos funcionários, você adiciona na lista.
chefe.adicionarStatusFuncionario( /*seu objeto que contém o status do funcionário. */ );
- Como o status mais atual é o último adicionado, você pode recuperar os status com um método assim:
public Status recuperarStatusAtual(List<StatusFuncionario> statusFuncionarios) {
Collections.reverse(statusFuncionario);
Iterator<StatusFuncionario> iteratorStatus = statusFuncionario.iterator();
return iteratorStatus.next();
}
//ou
public Status recuperarStatusAtual(List<StatusFuncionario> statusFuncionarios) {
Iterator<StatusFuncionario> iteratorStatus = statusFuncionario.iterator();
StatusFuncionario statusFuncionario = new StatusFuncionario();
while (iteratorStatus.hasNext()) {
statusFuncionario = iteratorStatus.next();
}
return statusFuncionario;
}
Daí você adapta no seu código… Que acha?