BaseItemSectionOld.java 2.44 KB
/*
 * Copyright (c) People Technologies Co., Ltd. 2019-2022. All rights reserved.
 */

package com.wd.display.comp.layoutdata;

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

import androidx.annotation.NonNull;

import com.people.entity.custom.comp.CompBean;
import com.people.entity.custom.item.ItemBean;
import com.people.entity.custom.section.SectionBean;

/**
 * 可以直接作为item展示的section基类<BR>
 * 如,两列多行的样式(上图下文01)、标题(LABEL-01)、按钮(BUTTON-01)
 * 理论上只会有 ContentBean数据类型,其他都是BaseContainerSection里处理,自定义数据bean
 * 
 * @author zhangbo
 * @version [V1.0.0, 2022/1/19]
 * @param <T> item数据泛型限定
 * @param <F> 泛型,待扩展限定
 * @since V1.0.0
 */
public abstract class BaseItemSectionOld<T extends ItemBean, F extends SectionBean> extends AbsSection<T, F> {

    /**
     * 构造器
     *
     * @param parent 承载section的group对象,即父节点
     * @param compType comp组件类型
     * @param compStyle comp组件样式
     */
    public BaseItemSectionOld(AbsGroup parent, String compType, String compStyle) {
        super(parent, compType, compStyle);
    }

    /**
     * 构造器
     *
     * @param parent 承载section的group对象,即父节点
     * @param compBean comp组件对应的comp数据
     */
    public BaseItemSectionOld(AbsGroup parent, @NonNull CompBean compBean) {
        super(parent, compBean);
    }

    @Override
    protected void parseData(String data) {

    }

    protected void addItems(List<T> dataList) {
        // 将数据列表设置到comp里
        if (mCompBean == null || dataList == null) {
            return;
        }
        if (mCompBean.getOriginalItemBeans() == null) {
            mCompBean.setOriginalItemBeans(new ArrayList<>());
        }
        mCompBean.getOriginalItemBeans().clear();
        mCompBean.getOriginalItemBeans().addAll(dataList);
    }

    /**
     * 初始化item数据
     *
     * @param itemBean item数据
     */
    @Deprecated
    protected void initItemBean(@NonNull T itemBean) {
        // 后续去掉该方法,这里没有被调用
    }

    @Override
    protected final void parseData() {
        // 非容器类型的item,没有特殊数据;这里将解析的节目数据列表赋值给originalItemBeans
        mCompBean.getOriginalItemBeans().clear();
        mCompBean.getOriginalItemBeans().addAll(mCompBean.getDataList());
    }
}