/*
 * Copyright (c) 京北方信息技术股份有限公司 Corporation 2021 . All rights reserved.
 *
 */
package net.northking.cctp.flowable.sm;

import io.swagger.annotations.ApiModelProperty;

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

/**
 * 状态机的事件
 *
 * @author : xiusong.xie
 * @version : 1.0
 */
public class Event {
    /**
     * 授权代码
     */
    @ApiModelProperty(value = "事件角色", required = true)
    private List<String> authorities = new ArrayList<>();
    @ApiModelProperty(value = "主键", required = true)
    private String id;
    @ApiModelProperty(value = "名称", required = true)
    private String label;
    @ApiModelProperty(value = "备注")
    private String memo;
    @ApiModelProperty(value = "来源状态", required = true)
    private String source;
    @ApiModelProperty(value = "目标状态", required = true)
    private String target;
    @ApiModelProperty(value = "图形样式", required = true)
    private String shape;
    @ApiModelProperty(value = "是否所有到所有")
    private Boolean anyToAny = false;
    @ApiModelProperty(value = "是否可见", required = true)
    private Boolean visible = true;
    @ApiModelProperty(value = "是否启用拦截器")
    private Boolean usedInterceptor = false;
    @ApiModelProperty(value = "流程定义id", required = true)
    private String processDefId;
    @ApiModelProperty(value = "开始坐标", required = true)
    private Coordinate startPoint;
    @ApiModelProperty(value = "结束坐标", required = true)
    private Coordinate endPoint;
    @ApiModelProperty(value = "是否启用通知", required = true)
    private Boolean enableNotice = true;
    @ApiModelProperty(value = "是否启用代办", required = true)
    private Boolean enableTodo = true;

    public void setProcessDefId(String processDefId) {
        this.processDefId = processDefId;
    }

    public String getProcessDefId() {
        return processDefId;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getLabel() {
        return label;
    }

    public void setLabel(String label) {
        this.label = label;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getTarget() {
        return target;
    }

    public void setTarget(String target) {
        this.target = target;
    }

    public String getShape() {
        return shape;
    }

    public void setShape(String shape) {
        this.shape = shape;
    }

    public Boolean isAnyToAny() {
        return anyToAny;
    }

    public void setAnyToAny(Boolean anyToAny) {
        this.anyToAny = anyToAny;
    }

    public Boolean getAnyToAny() {
        return anyToAny;
    }

    public Boolean getVisible() {
        return visible;
    }

    public void setVisible(Boolean visible) {
        this.visible = visible;
    }

    public Boolean getUsedInterceptor() {
        return usedInterceptor;
    }

    public void setUsedInterceptor(Boolean usedInterceptor) {
        this.usedInterceptor = usedInterceptor;
    }

    public Coordinate getStartPoint() {
        return startPoint;
    }

    public void setStartPoint(Coordinate startPoint) {
        this.startPoint = startPoint;
    }

    public Coordinate getEndPoint() {
        return endPoint;
    }

    public void setEndPoint(Coordinate endPoint) {
        this.endPoint = endPoint;
    }

    public Boolean getEnableNotice() {
        return enableNotice;
    }

    public void setEnableNotice(Boolean enableNotice) {
        this.enableNotice = enableNotice;
    }

    public Boolean getEnableTodo() {
        return enableTodo;
    }

    public void setEnableTodo(Boolean enableTodo) {
        this.enableTodo = enableTodo;
    }

    public List<String> getAuthorities() {
        return authorities;
    }

    public void setAuthorities(List<String> authorities) {
        this.authorities = authorities;
    }
}
