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

import net.northking.cctp.common.saas.db.TenantPartition;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import java.util.Date;
import java.util.List;

import javax.persistence.*;

/**
 * 实施流程定义
 *
 * <p>文件内容由代码生成器产生，请不要手动修改！  <br>
 * createdate:  2022-01-06 11:54:15  <br>
 * @author:  maven-cctp-plugin  <br>
 * @since:  1.0 <br>
 */
@Entity
@Table(name = "ip_process")
@DynamicInsert
@DynamicUpdate
public class IpProcess extends TenantPartition implements net.northking.cctp.common.db.entity.Entity
{
  public static final String KEY_id = "id";
  public static final String KEY_name = "name";
  public static final String KEY_memo = "memo";
  public static final String KEY_canModify = "canModify";
  public static final String KEY_defaulted = "defaulted";
  public static final String KEY_enabled = "enabled";
  public static final String KEY_deleted = "deleted";
  public static final String KEY_createdBy = "createdBy";
  public static final String KEY_createdTime = "createdTime";
  public static final String KEY_updatedBy = "updatedBy";
  public static final String KEY_updatedTime = "updatedTime";
  public static final String KEY_tenantId = "tenantId";

  /**
   * 主键<br>
   */
    @Id
    @Column(name = "id")
  private String id;
  /**
   * 实施流程名称<br>
   */
    @Column(name = "name")
  private String name;
  /**
   * 详细描述<br>
   */
    @Column(name = "memo")
  private String memo;
  /**
   * 是否可以编辑<br>
   */
    @Column(name = "is_can_modify")
  private Boolean canModify;
  /**
   * 是否默认<br>
   */
    @Column(name = "is_defaulted")
  private Boolean defaulted;
  /**
   * 是否启用<br>
   */
    @Column(name = "is_enabled")
  private Boolean enabled;
  /**
   * 是否已删除<br>
   */
    @Column(name = "is_deleted")
  private Boolean deleted;
  /**
   * 创建人<br>
   */
    @Column(name = "created_by")
  private String createdBy;
  /**
   * 创建时间<br>
   */
    @Column(name = "created_time")
  private Date createdTime;
  /**
   * 更新人<br>
   */
    @Column(name = "updated_by")
  private String updatedBy;
  /**
   * 更新时间<br>
   */
    @Column(name = "updated_time")
  private Date updatedTime;
  /**
   * 租户<br>
   */
    @Column(name = "tenant_id")
  private String tenantId;

    @OneToMany
    @JoinColumn(name = "ip_id", updatable = false, insertable = false)
    private List<IpState> stateList;

  /**
   * 主键<br>
   */
  public String getId()
  {
      return id;
    }

  /**
   * 主键<br>
   *
   * @param id 主键
   */
  public void setId(String id)
  {
      this.id = id;
    }
  /**
   * 实施流程名称<br>
   */
  public String getName()
  {
      return name;
    }

  /**
   * 实施流程名称<br>
   *
   * @param name 实施流程名称
   */
  public void setName(String name)
  {
      this.name = name;
    }
  /**
   * 详细描述<br>
   */
  public String getMemo()
  {
      return memo;
    }

  /**
   * 详细描述<br>
   *
   * @param memo 详细描述
   */
  public void setMemo(String memo)
  {
      this.memo = memo;
    }
  /**
   * 是否可以编辑<br>
   */
  public Boolean getCanModify()
  {
      return canModify;
    }

  /**
   * 是否可以编辑<br>
   *
   * @param canModify 是否可以编辑
   */
  public void setCanModify(Boolean canModify)
  {
      this.canModify = canModify;
    }
  /**
   * 是否默认<br>
   */
  public Boolean getDefaulted()
  {
      return defaulted;
    }

  /**
   * 是否默认<br>
   *
   * @param defaulted 是否默认
   */
  public void setDefaulted(Boolean defaulted)
  {
      this.defaulted = defaulted;
    }
  /**
   * 是否启用<br>
   */
  public Boolean getEnabled()
  {
      return enabled;
    }

  /**
   * 是否启用<br>
   *
   * @param enabled 是否启用
   */
  public void setEnabled(Boolean enabled)
  {
      this.enabled = enabled;
    }
  /**
   * 是否已删除<br>
   */
  public Boolean getDeleted()
  {
      return deleted;
    }

  /**
   * 是否已删除<br>
   *
   * @param deleted 是否已删除
   */
  public void setDeleted(Boolean deleted)
  {
      this.deleted = deleted;
    }
  /**
   * 创建人<br>
   */
  public String getCreatedBy()
  {
      return createdBy;
    }

  /**
   * 创建人<br>
   *
   * @param createdBy 创建人
   */
  public void setCreatedBy(String createdBy)
  {
      this.createdBy = createdBy;
    }
  /**
   * 创建时间<br>
   */
  public Date getCreatedTime()
  {
      if(createdTime != null)
    {
      return (Date)createdTime.clone();
    }
    return null;
    }

  /**
   * 创建时间<br>
   *
   * @param createdTime 创建时间
   */
  public void setCreatedTime(Date createdTime)
  {
      if(createdTime != null)
    {
      this.createdTime = (Date)createdTime.clone();
    }
    }
  /**
   * 更新人<br>
   */
  public String getUpdatedBy()
  {
      return updatedBy;
    }

  /**
   * 更新人<br>
   *
   * @param updatedBy 更新人
   */
  public void setUpdatedBy(String updatedBy)
  {
      this.updatedBy = updatedBy;
    }
  /**
   * 更新时间<br>
   */
  public Date getUpdatedTime()
  {
      if(updatedTime != null)
    {
      return (Date)updatedTime.clone();
    }
    return null;
    }

  /**
   * 更新时间<br>
   *
   * @param updatedTime 更新时间
   */
  public void setUpdatedTime(Date updatedTime)
  {
      if(updatedTime != null)
    {
      this.updatedTime = (Date)updatedTime.clone();
    }
    }
  /**
   * 租户<br>
   */
  public String getTenantId()
  {
      return tenantId;
    }

  /**
   * 租户<br>
   *
   * @param tenantId 租户
   */
  public void setTenantId(String tenantId)
  {
      this.tenantId = tenantId;
    }

  public IpProcess()
  {
  }

  public List<IpState> getStateList() {
    return stateList;
  }

  public void setStateList(List<IpState> stateList) {
    this.stateList = stateList;
  }
}
