notas para FeatureManager2.txt

Francisco Díaz Carsí, 08/11/2023 12:44 PM

Download (1008 Bytes)

 
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