-
Notifications
You must be signed in to change notification settings - Fork 0
/
SommeParPosition.java
47 lines (40 loc) · 1.15 KB
/
SommeParPosition.java
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
import java.util.*;
/**
* SommeParPosition
*
* @author Xavier Crégut <[email protected]>
*/
public class SommeParPosition extends Traitement {
private class TotalParPosition {
public Position position;
public double valeur;
public TotalParPosition(Position position, double valeur) {
this.position = position;
this.valeur = valeur;
}
}
private List<TotalParPosition> positions = new ArrayList<TotalParPosition>();
@Override
public final void gererFinLotLocal(String nomLot) {
System.out.println("SommeParPosition " + nomLot);
for (TotalParPosition s : this.positions) {
System.out.println(" - " + s.position + "\t-> " + s.valeur);
}
System.out.println("Fin SommeParPosition.");
}
@Override
public final void traiter(Position position, double valeur) {
boolean find = false;
for (TotalParPosition s : this.positions) {
if (s.position.equals(position)) {
find = true;
s.valeur += valeur;
break;
}
}
if (!find) {
Collections.addAll(this.positions, new TotalParPosition(position, valeur));
}
super.traiter(position, valeur);
}
}