package com.jwipc.dto;

import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.util.List; /**
 * <p> </p>
 *
 * @author ZhangJie
 * @version 1.0
 * @since JDK 1.8
 */
@Data
@Builder
public class  ZTreeDTO<D extends Serializable> implements Serializable {
    private static final long serialVersionUID = -8937767623721430925L;
    /**
     * 结点编号
     */
    private String id;

    /**
     * 父级id
     */
    private String pid;

    /**
     * 结点名称
     */
    private String name;

    /**
     * 是否勾选
     */
    private boolean checked;
    /**
     * 设置节点是否隐藏 checkbox / radio
     */
    private boolean nocheck;

    /**
     * 是否是叶子节点
     */
    @Builder.Default
    private boolean open = true;

    /**
     * 是否禁止勾选
     */
    private boolean chkDisabled;

    /**
     * 是否半选
     */
    private boolean halfCheck;

    /**
     * 是否隐藏
     */
    private boolean hidden;

    /**
     * 是否是父结点
     */
    private boolean parent;

    /**
     * 结点的子结点，如果是父结点，则存在子结点
     */
    private List<ZTreeDTO<D>> children;

    /**
     * 结点点击跳转的地址
     */
    private String url;

    /**
     * 结点点击跳转目标
     */
    private String target;

    /**
     * 结点上的应用数据
     */
    private D data;
}
