shikeying
2024-01-11 3b67e947e36133e2a40eb2737b15ea375e157ea0
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
package com.walker.jdbc;
 
import com.fasterxml.jackson.annotation.JsonIgnore;
 
import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
 
/**
 * 2023-03-22 尝试对实体对象添加额外属性访问,这样不用总是添加字段,灵活方便。
 * @param <T>
 * @author 时克英
 * @date 2022-09-11
 */
public abstract class BasePo<T extends BasePo> implements Serializable, Cloneable {
 
    /**
     * 设置主键值
     */
    public abstract void setPkValue(Object value);
 
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //~ 2023-03-22 加入通用属性访问方法,方便业务随时加入新的属性。
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
    private Map<String, Object> parameter = new HashMap<String, Object>();
 
    public Map<String, Object> getParameter() {
        return parameter;
    }
 
    public void setParameter(Map<String, Object> parameter) {
        this.parameter = parameter;
    }
 
    @JsonIgnore
    public Object getParameter(String key){
        return this.parameter.get(key);
    }
    @JsonIgnore
    public String getParameterString(String key){
        Object val = this.parameter.get(key);
        if(val != null){
            return val.toString();
        }
        return null;
    }
    @JsonIgnore
    public long getParameterLong(String key){
        Object val = this.parameter.get(key);
        if(val != null){
            return Long.parseLong(val.toString());
        }
        return 0;
    }
    @JsonIgnore
    public int getParameterInt(String key){
        Object val = this.parameter.get(key);
        if(val != null){
            return Integer.parseInt(val.toString());
        }
        return 0;
    }
    @JsonIgnore
    public double getParameterDouble(String key){
        Object val = this.parameter.get(key);
        if(val != null){
            return Double.parseDouble(val.toString());
        }
        return 0;
    }
    @JsonIgnore
    public boolean getParameterBoolean(String key){
        Object val = this.parameter.get(key);
        if(val != null){
            return Boolean.parseBoolean(val.toString());
        }
        return false;
    }
 
    @JsonIgnore
    public void setParameter(String key, Object value){
        this.parameter.put(key, value);
    }
    @JsonIgnore
    public void setParameterString(String key, String value){
        this.parameter.put(key, value);
    }
    @JsonIgnore
    public void setParameterLong(String key, Long value){
        this.parameter.put(key, value);
    }
    @JsonIgnore
    public void setParameterInt(String key, Integer value){
        this.parameter.put(key, value);
    }
    @JsonIgnore
    public void setParameterDouble(String key, Double value){
        this.parameter.put(key, value);
    }
    @JsonIgnore
    public void setParameterBoolean(String key, Boolean value){
        this.parameter.put(key, value);
    }
}