notas para FeatureManager2.txt
1 |
El nuevo FeatureManager debería tener al menos estos métodos: |
---|---|
2 |
|
3 |
def get(feat) { |
4 |
if(deleted.containsKey(feat)){ |
5 |
return null |
6 |
} |
7 |
|
8 |
if(updated.containsKey(feat)){ |
9 |
return load(updated.get(feat)) |
10 |
} |
11 |
|
12 |
if(inserted.containsKey(feat)){ |
13 |
return load(updated.get(feat)) |
14 |
} |
15 |
|
16 |
if(original){ |
17 |
return original |
18 |
} |
19 |
|
20 |
return feature; |
21 |
|
22 |
} |
23 |
|
24 |
def getOriginal(feat) { |
25 |
return original.getOrDefault(feat, feat) |
26 |
} |
27 |
|
28 |
def insert(feat) { |
29 |
inserted.put(feat, save(feat)) |
30 |
} |
31 |
|
32 |
def delete(feat) { |
33 |
saveOriginal(feat) |
34 |
deleted.put(feat, save(feat)) |
35 |
} |
36 |
|
37 |
def set(feat, oldFeature) { |
38 |
saveOriginal(oldFeature) |
39 |
updated.put(feat, save(feat)) |
40 |
} |
41 |
|
42 |
def save(feat) { |
43 |
guarda la feature en el expansion adapter y devuelve el código asociado a ella |
44 |
} |
45 |
|
46 |
def load(feat) { |
47 |
recupera la feature del expansion adapter y la devuelve |
48 |
} |
49 |
|
50 |
def saveOriginal(feat) { |
51 |
if(deleted.containsKey(feat)){ |
52 |
return |
53 |
} |
54 |
|
55 |
if(updated.containsKey(feat)){ |
56 |
return |
57 |
} |
58 |
|
59 |
if(inserted.containsKey(feat)){ |
60 |
return |
61 |
} |
62 |
|
63 |
original.put(feat, save(feat)) |
64 |
return; |
65 |
} |
66 |
|