/**
 * 
 */
package org.springblade.etl.dto.etl;

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

import javax.validation.constraints.NotNull;

import org.springblade.etl.entity.Job;
import org.springblade.etl.entity.JobLink;
import org.springblade.etl.entity.JobTask;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * @author wookvn
 * 
 */
@Data
@ApiModel(value = "Job-DAG图对象", description = "任务DAG图对象")
public class JobGraph implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@ApiModelProperty(value = "任务环境信息")
	private JobEnv env;
	
	@ApiModelProperty(value = "任务信息")
	@NotNull(message = "任务信息不能为空")
	private Job job;
	
	@ApiModelProperty(value = "节点信息")
	@NotNull(message = "节点信息不能为空")
	private List<JobTask> nodes;
	
	@ApiModelProperty(value = "节点关系信息")
	@NotNull(message = "节点关系不能为空")
	private List<JobLink> edges;
	
	@ApiModelProperty(value = "权限组ID列表")
	private List<Integer> dataPermIdList;
}
