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

org.jgrapht.graph.beans.DragonPipeline Maven / Gradle / Ivy

package org.jgrapht.graph.beans;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonProperty;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

/**
 * DAG数据JSON
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class DragonPipeline implements Serializable {

    @Schema(description = "DAG拓扑版本")
    @JsonProperty("version")
    private String _DRAGONFLY_VERSION;

    @Schema(description = "DAG拓扑配置")
    @JsonProperty("pipeline_manager_config")
    private PipelineManagerConfig pipelineManagerConfig;

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class PipelineManagerConfig implements Serializable {

        @JsonProperty("base_pipeline")
        private BasePipeline basePipeline;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @AllArgsConstructor
    public static class BasePipeline implements Serializable {

        @Schema(description = "算子示例映射: <算子实例ID, 算子流程>")
        private Map processor;

    }

    @Data
    @ToString
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DragonOperator implements Serializable {

        @Schema(description = "算子类型")
        @JsonProperty("type_name")
        private String typeName;

        @Schema(description = "子执行结点")
        @JsonProperty("downstream_processor")
        private List downstreamProcessor;

        @Schema(description = "算子可扩展配置项")
        @JsonProperty("config")
        private List dragonAttribute;
    }

    @Data
    @ToString
    @NoArgsConstructor
    @AllArgsConstructor
    public static class DragonAttribute implements Serializable {

        @Schema(description = "算子的属性名称")
        private String field;

        @Schema(description = "算子的属性类型展示名称")
        private String labelText;

        @Schema(description = "未输入数据时的提示文案")
        private String errorMessage;

        @Schema(description = "属性是否必须")
        private boolean required;

        @Schema(description = "数据具体值")
        private Object value;

    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy