-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEcheancier.java
More file actions
84 lines (74 loc) · 1.95 KB
/
Echeancier.java
File metadata and controls
84 lines (74 loc) · 1.95 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import java.util.LinkedList;
/* Vous pouvez modifier cette classe comme vous voulez.
*/
public class Echeancier extends Global {
private LinkedList<Evenement> listeEvenements;
/* Comme toute les collections, il ne faut pas l'exporter.
*/
public Echeancier() {
listeEvenements = new LinkedList<Evenement>();
}
public boolean estVide() {
return listeEvenements.isEmpty();
}
public void ajouter(Evenement e) {
int pos = 0;
while (pos < listeEvenements.size()) {
if (listeEvenements.get(pos).date >= e.date) {
listeEvenements.add(pos, e);
return;
} else {
pos++;
}
}
listeEvenements.add(pos, e);
}
public Evenement retourneEtEnlevePremier() {
Evenement e = listeEvenements.getFirst();
listeEvenements.removeFirst();
return e;
}
public void affiche(StringBuilder buffer, Immeuble ascenseur) {
buffer.setLength(0);
buffer.append("Echéancier = ");
int index = 0;
while (index < listeEvenements.size()) {
listeEvenements.get(index).affiche(buffer,ascenseur);
index++;
if (buffer.length() > 180) {
index = listeEvenements.size();
buffer.append(", ... (");
buffer.append(index);
buffer.append(")");
} else if (index < listeEvenements.size()) {
buffer.append(',');
}
}
System.out.println(buffer);
}
public void decalerFPC(){
int index = 0;
while ( true ) {
Evenement e = listeEvenements.get(index);
if(e instanceof EvenementFermeturePorteCabine){
listeEvenements.remove(index);
EvenementFermeturePorteCabine eventFPC = (EvenementFermeturePorteCabine) e;
eventFPC.setDate(e.date + tempsPourOuvrirOuFermerLesPortes);
ajouter(eventFPC);
return;
}
index++;
}
}
public void supprimeAPPs(){
int index = 0;
while ( index < listeEvenements.size() ) {
Evenement e = listeEvenements.get(index);
if(e instanceof EvenementArriveePassagerPalier){
listeEvenements.remove(index);
} else {
index++;
}
}
}
}