001/*
002 *    Copyright 2024-2025, Warm-Flow (290631660@qq.com).
003 *
004 *    Licensed under the Apache License, Version 2.0 (the "License");
005 *    you may not use this file except in compliance with the License.
006 *    You may obtain a copy of the License at
007 *
008 *       https://www.apache.org/licenses/LICENSE-2.0
009 *
010 *    Unless required by applicable law or agreed to in writing, software
011 *    distributed under the License is distributed on an "AS IS" BASIS,
012 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 *    See the License for the specific language governing permissions and
014 *    limitations under the License.
015 */
016package org.dromara.warm.flow.core.entity;
017
018import org.dromara.warm.flow.core.FlowFactory;
019
020import java.util.Date;
021import java.util.List;
022
023/**
024 * 流程定义对象 flow_definition
025 *
026 * @author warm
027 * @since 2023-03-29
028 */
029public interface Definition extends RootEntity {
030    public Long getId();
031
032    public Definition setId(Long id);
033
034    public Date getCreateTime();
035
036    public Definition setCreateTime(Date createTime);
037
038    public Date getUpdateTime();
039
040    public Definition setUpdateTime(Date updateTime);
041
042    public String getTenantId();
043
044    public Definition setTenantId(String tenantId);
045
046    public String getDelFlag();
047
048    public Definition setDelFlag(String delFlag);
049
050    public String getFlowCode();
051
052    public Definition setFlowCode(String flowCode);
053
054    public String getFlowName();
055
056    public Definition setFlowName(String flowName);
057
058    public String getCategory();
059
060    public Definition setCategory(String category);
061
062    public String getVersion();
063
064    public Definition setVersion(String version);
065
066    public Integer getIsPublish();
067
068    public Definition setIsPublish(Integer isPublish);
069
070    public String getFormCustom();
071
072    public Definition setFormCustom(String formCustom);
073
074    public String getFormPath();
075
076    public Definition setFormPath(String formPath);
077
078    public String getExt();
079
080    public Definition setExt(String ext);
081
082    public List<Node> getNodeList();
083
084    public Definition setNodeList(List<Node> nodeList);
085
086    public List<User> getUserList();
087
088    public Definition setUserList(List<User> userList);
089
090    public String getXmlString();
091
092    public Definition setXmlString(String xmsString);
093
094    public Integer getActivityStatus();
095
096    public Definition setActivityStatus(Integer activityStatus);
097
098    String getListenerType();
099
100    Definition setListenerType(String listenerType);
101
102    String getListenerPath();
103
104    Definition setListenerPath(String listenerPath);
105
106    default Definition copy() {
107        return FlowFactory.newDef()
108                .setId(this.getId())
109                .setCreateTime(this.getCreateTime())
110                .setUpdateTime(this.getUpdateTime())
111                .setTenantId(this.getTenantId())
112                .setDelFlag(this.getDelFlag())
113                .setFlowCode(this.getFlowCode())
114                .setFlowName(this.getFlowName())
115                .setCategory(this.getCategory())
116                .setVersion(this.getVersion())
117                .setIsPublish(this.getIsPublish())
118                .setFormCustom(this.getFormCustom())
119                .setFormPath(this.getFormPath())
120                .setActivityStatus(this.getActivityStatus())
121                .setListenerType(this.getListenerType())
122                .setListenerPath(this.getListenerPath())
123                .setExt(this.getExt());
124
125    }
126}