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
package cn.ibizlab.util.domain;
import com.fasterxml.jackson.annotation.JsonAnyGetter;
import com.fasterxml.jackson.annotation.JsonAnySetter;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.alibaba.fastjson.annotation.JSONField;
import java.io.Serializable;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import lombok.Data;
@Data
public class DTOBase implements Serializable {
@JsonIgnore
@JSONField(serialize = false)
private Set<String> focusNull;
public void modify(String field,Object val) {
if(val==null)
this.getFocusNull(true).add(field.toLowerCase());
else
this.getFocusNull(true).remove(field.toLowerCase());
}
public Set<String> getFocusNull() {
if(focusNull==null)
focusNull=new HashSet<>();
if(focusNull.size()>0 && extensionparams.containsKey("dirtyflagenable"))
{
Set<String> nocheck=new HashSet<>();
for(String key:focusNull)
{
if(!extensionparams.containsKey(key+"dirtyflag"))
nocheck.add(key);
}
for(String key:nocheck)
focusNull.remove(key);
}
return focusNull;
}
private Set<String> getFocusNull(boolean newflag) {
if(focusNull==null)
focusNull=new HashSet<>();
return focusNull;
}
@JsonIgnore
private Map<String,Object> extensionparams=new HashMap<String,Object>();
public Map<String, Object> getExtensionparams() {
return extensionparams;
}
public void setExtensionparams(Map<String, Object> extensionparams) {
this.extensionparams = extensionparams;
}
@JsonAnyGetter
public Map<String , Object> any() {
return extensionparams;
}
@JsonAnySetter
public void set(String name, Object value) {
extensionparams.put(name.toLowerCase(), value);
}
}