All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.wm.df.sdk.component.IComponent Maven / Gradle / Ivy

There is a newer version: 0.2.17
Show newest version
package com.wm.df.sdk.component;

import com.wm.df.sdk.component.config.ComponentOutputConfig;
import com.wm.df.sdk.component.config.ComponentParameterConfig;
import com.wm.df.sdk.component.config.StorageItem;

import java.util.Collections;
import java.util.List;

/**
 * 数据融合平台所有组件共同接口
 *
 * @author wangjinnan
 */
public interface IComponent {

    /**
     * 获取组件参数配置接口,
     * 默认参数容器是空的.
     *
     * @return 参数配置对象.
     */
    default ComponentParameterConfig parameterConfig() {
        return ComponentParameterConfig.empty();
    }

    /**
     * 获取组件输出对象配置,
     * 默认组件输出配置是空的.
     *
     * @return 输出配置.
     */
    default ComponentOutputConfig outputConfig() {
        return ComponentOutputConfig.empty();
    }

    /**
     * 获取组件动态输出配置,
     * 默认组件输出配置是空的.
     *
     * @return 输出配置.
     */
    default ComponentOutputConfig dynamicOutputConfig() {
        return ComponentOutputConfig.empty();
    }

    /**
     * 获取所有的组件存储条目
     *
     * @return 组件存储条目集合
     */
    default List storageConfig() {
        return Collections.emptyList();
    }

    /**
     * 添加参数配置时要实现的方法.
     */
    default void addParameterConfig() {

    }

    /**
     * 添加输出配置时要实现的方法
     */
    default void addOutputConfig() {

    }

    /**
     * 添加动态输出配置时要实现的方法
     */
    default void addDynamicOutputConfig() {

    }

    /**
     * 添加组件存储配置
     */
    default void addStorageConfig() {

    }

    /**
     * 组件核心方法之前执行的逻辑
     */
    default void beforeExecute() {
    }

    /**
     * 组件核心方法知乎执行的逻辑
     */
    default void afterExecute() {
    }

}





© 2015 - 2024 Weber Informatics LLC | Privacy Policy