ClassifyDialogBean.java 1.76 KB

package com.wd.foundation.bean.custom;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import androidx.annotation.NonNull;

/**
 * 二级分类的数据结构
 *
 * @author libo
 * @version [V1.0.0, 2022/10/20]
 * @since V1.0.0
 */
public class ClassifyDialogBean implements Cloneable{

    public String id;

    public String name;

    public boolean isCheck;

    public boolean mAdapterDateIsEmpty;

    public boolean canMove = true;

    public List<Child> childList = new ArrayList<>();

    public static class Child implements Cloneable{
        public String parentId;

        public String id;

        public String name;

        public boolean isCheck;

        @NonNull
        public Child clone() {
            try {
                return (Child) super.clone();
            } catch (CloneNotSupportedException e) {
                e.printStackTrace();
            }
            return this;
        }
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        ClassifyDialogBean that = (ClassifyDialogBean) o;
        return Objects.equals(id, that.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }

    @NonNull
    @Override
    public ClassifyDialogBean clone() {
        try {
            ClassifyDialogBean bean= (ClassifyDialogBean) super.clone();
            if (childList!=null){
                bean.childList = childList;//.stream().map(Child::clone).collect(Collectors.toList());
            }
            return bean;
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
        return this;
    }
}