OpenConcerto

Dépôt officiel du code source de l'ERP OpenConcerto
sonarqube

svn://code.openconcerto.org/openconcerto

Rev

Rev 19 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 19 Rev 156
Line 2... Line 2...
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
import java.util.List;
4
import java.util.List;
5
 
5
 
6
public class DataModel1D extends DataModel {
6
public class DataModel1D extends DataModel {
7
    private final List<Number> l = new ArrayList<Number>();
7
    private final List<Number> l = new ArrayList<>();
8
 
8
 
9
    public DataModel1D() {
9
    public DataModel1D() {
10
 
10
 
11
    }
11
    }
12
 
12
 
13
    public DataModel1D(Number[] data) {
13
    public DataModel1D(Number[] data) {
14
        for (int i = 0; i < data.length; i++) {
14
        for (int i = 0; i < data.length; i++) {
15
            Number number = data[i];
-
 
16
            l.add(number);
15
            l.add(data[i]);
17
        }
16
        }
18
    }
17
    }
19
 
18
 
20
    public DataModel1D(List<Number> list) {
19
    public DataModel1D(List<Number> list) {
21
        this.addAll(list);
20
        this.addAll(list);
22
    }
21
    }
23
 
22
 
24
    public void addAll(List<Number> data) {
23
    public synchronized void addAll(List<Number> data) {
25
        l.addAll(data);
24
        l.addAll(data);
26
    }
25
    }
27
 
26
 
28
    public int getSize() {
27
    public synchronized int getSize() {
29
        return l.size();
28
        return l.size();
30
    }
29
    }
31
 
30
 
32
    public void setValueAt(int index, Number value) {
31
    public synchronized void setValueAt(int index, Number value) {
33
        ensureCapacity(index);
32
        ensureCapacity(index);
34
        l.set(index, value);
33
        l.set(index, value);
35
    }
34
    }
36
 
35
 
37
    private void ensureCapacity(int index) {
36
    private void ensureCapacity(int index) {
38
        for (int i = l.size(); i <= index; i++) {
37
        for (int i = l.size(); i <= index; i++) {
39
            l.add(null);
38
            l.add(null);
40
        }
39
        }
41
    }
40
    }
42
 
41
 
43
    public Number getValueAt(int index) {
42
    public synchronized Number getValueAt(int index) {
44
        ensureCapacity(index);
43
        ensureCapacity(index);
45
        return l.get(index);
44
        return l.get(index);
46
    }
45
    }
47
 
46
 
48
    public Number getMaxValue() {
47
    public synchronized Number getMaxValue() {
49
        Number max = 0;
48
        Number max = 0;
50
        for (Number b : this.l) {
49
        for (Number b : this.l) {
51
            if (max == null) {
-
 
52
                max = b;
-
 
53
            } else if (b != null && b.doubleValue() > max.doubleValue()) {
50
            if (b != null && b.doubleValue() > max.doubleValue()) {
54
                max = b;
51
                max = b;
55
            }
52
            }
56
        }
53
        }
57
        return max;
54
        return max;
58
    }
55
    }
59
 
56
 
60
    public Number getMinValue() {
57
    public synchronized Number getMinValue() {
61
        Number min = 0;
58
        Number min = 0;
62
        for (Number b : this.l) {
59
        for (Number b : this.l) {
63
            if (min == null) {
-
 
64
                min = b;
-
 
65
            } else if (b != null && b.doubleValue() < min.doubleValue()) {
60
            if (b != null && b.doubleValue() < min.doubleValue()) {
66
                min = b;
61
                min = b;
67
            }
62
            }
68
        }
63
        }
69
        return min;
64
        return min;
70
    }
65
    }
71
 
66
 
72
    public void clear() {
67
    public synchronized void clear() {
-
 
68
        final int size = l.size();
73
        for (int i = 0; i < this.getSize(); i++) {
69
        for (int i = 0; i < size; i++) {
74
            this.setValueAt(i, null);
70
            this.setValueAt(i, null);
75
        }
71
        }
76
    }
72
    }
77
}
73
}