liuxiaolong
2019-05-09 0d1d88cdb668e75ea8609417ac18ae19947e9525
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
/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.common.persistence;
 
import javax.validation.constraints.NotNull;
 
import org.hibernate.validator.constraints.Length;
 
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.jeeplus.common.utils.Reflections;
import com.jeeplus.common.utils.StringUtils;
 
/**
 * 数据Entity类
 * @author jeeplus
 * @version 2014-05-16
 */
public abstract class TreeEntity<T> extends DataEntity<T> {
 
    private static final long serialVersionUID = 1L;
 
    protected T parent;    // 父级编号
    protected String parentIds; // 所有父级编号
    protected String name;     // 机构名称
    protected Integer sort;        // 排序
    
    public TreeEntity() {
        super();
        this.sort = 30;
    }
    
    public TreeEntity(String id) {
        super(id);
    }
    
    /**
     * 父对象,只能通过子类实现,父类实现mybatis无法读取
     * @return
     */
    @JsonBackReference
    @NotNull
    public abstract T getParent();
 
    /**
     * 父对象,只能通过子类实现,父类实现mybatis无法读取
     * @return
     */
    public abstract void setParent(T parent);
 
    @Length(min=1, max=2000)
    public String getParentIds() {
        return parentIds;
    }
 
    public void setParentIds(String parentIds) {
        this.parentIds = parentIds;
    }
 
    @Length(min=1, max=100)
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getSort() {
        return sort;
    }
 
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    
    public String getParentId() {
        String id = null;
        if (parent != null){
            id = (String)Reflections.getFieldValue(parent, "id");
        }
        return StringUtils.isNotBlank(id) ? id : "0";
    }
    
}