Normand Briere
2018-07-07 e416acb9b012b17d1efe49ad2199ea7132d874d1
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
package timeflow.data.db;
 
import java.util.*;
 
import timeflow.data.db.*;
import timeflow.data.db.filter.ActFilter;
 
public class BasicDB implements ActDB {
   
   private Schema schema;
   private List<Act> data=new ArrayList<Act>();
   private String source="[unknown]";
   private String description="";    
   public String getDescription() {
       return description;
   }
 
   public void setDescription(String description) {
       this.description = description;
   }
   
   public String getSource() {
       return source;
   }
 
   public void setSource(String source) {
       this.source = source;
   }
 
   public BasicDB(String source)
   {
       this(new Schema(), source);
   }
   
   public BasicDB(Schema schema, String source)
   {
       this.schema=schema;
       this.source=source;
   }
   
   @Override
   public Field addField(String name, Class type) {
       Field field=new Field(name, type);
       schema.add(field);
       return field;
   }
   
   public Field getField(String name)
   {
       return schema.getField(name);
   }
 
   @Override
   public ActList all() {
       return select(null);
   }
 
   @Override
   public Act createAct() {
       BasicAct act=new BasicAct(this);
       data.add(act);
       return act;
   }
 
   @Override
   public void delete(Act act) {
       data.remove(act);
   }
 
   @Override
   public void deleteField(Field field) {
       schema.delete(field);
   }
 
   @Override
   public List<Field> getFields(Class type) {
       return schema.getFields(type);
   }
 
   @Override
   public ActList select(ActFilter filter) {
       ActList set=new ActList(this);
       for (Act a: data)
           if (filter==null || filter.accept(a))
               set.add(a);
       return set;
   }
 
   @Override
   public List<Field> getFields() {
       return schema.getFields();
   }
 
   @Override
   public Act get(int i) {
       return data.get(i);
   }
 
   @Override
   public int size() {
       return data.size();
   }
 
   @Override
   public Iterator<Act> iterator() {
       return data.iterator();
   }
 
   @Override
   public void setAlias(Field field, String name) {
       schema.addAlias(field,name);
   }
 
   @Override
   public List<String> getFieldKeys() {
       return schema.getKeys();
   }
 
   @Override
   public void setNewFieldOrder(List<Field> newOrder) {
       schema.setNewFieldOrder(newOrder);
   }
 
   @Override
   public void renameField(Field field, String name) {
       schema.renameField(field, name);
   }
 
}