package net.northking.cctp.element.collections;

import net.northking.cctp.element.core.AbstractLibrary;
import net.northking.cctp.element.core.annotation.Library;
import net.northking.cctp.element.core.type.LibraryConstant;
import net.northking.cctp.element.util.Javadoc2Libdoc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * <p>这是一个为处理列表（List）数据类型和字典（Map）数据类型提供的测试组件库。</p>
 * 集合组件库是平台基本库，它提供了一组用于处理Java列表（List）数据类型和字典（Map）数据类型的组件。
 * 例如，用于修改和获取List和Map中的值（例如：getFromList、getFromMap）。
 */
@Library(scanBasePackage = "net.northking.cctp.element.collections", infoClass = CollectionsLibrary.class)
public class CollectionsLibrary extends AbstractLibrary {

    private static final Logger logger = LoggerFactory.getLogger(CollectionsLibrary.class);
    private static final Javadoc2Libdoc JAVA_DOC_2_LIB_DOC = new Javadoc2Libdoc(CollectionsLibrary.class);
    private static final String NAME = "NK.Collections";
    private static final String VERSION = "2.3.5";
    private static final String CH_NAME = "集合组件库";
    private static final Integer TYPE = LibraryConstant.LIB_TYPE_COMMON;

    @Override
    public String getName() {
        return NAME;
    }

    /**
     * 库中文名称
     */
    @Override
    public String getChName() {
        return CH_NAME;
    }

    @Override
    public String getVersion() {
        return VERSION;
    }

    /**
     * 组件库类别
     */
    @Override
    public Integer getType() {
        return TYPE;
    }

    @Override
    public Javadoc2Libdoc getLibDoc() {
        return JAVA_DOC_2_LIB_DOC;
    }

    @Override
    public void destroy() {
        logger.info("destroy done.");
    }
}