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

com.cloud.task.model.ShardingInfo Maven / Gradle / Ivy

package com.cloud.task.model;

import java.io.Serializable;

/**
 * 作业分片信息对象.
 *
 */
public final class ShardingInfo implements Serializable, Comparable {

  private static final long serialVersionUID = 8587397581949456718L;

  private int item;

  private String serverIp;

  private String instanceId;

  private ShardingStatus status;

  private boolean failover;

  @Override
  public int compareTo(final ShardingInfo o) {
    return getItem() - o.getItem();
  }

  /**
   * 作业分片状态.
   *
   * @author caohao
   */
  public enum ShardingStatus {

    DISABLED, RUNNING, SHARDING_FLAG, PENDING;

    /**
     * 获取分片状态.
     * 
     * @param isDisabled 是否被禁用
     * @param isRunning 是否在运行
     * @param isShardingFlag 是否需要分片
     * @return 作业运行时状态
     */
    public static ShardingStatus getShardingStatus(final boolean isDisabled, final boolean isRunning,
        final boolean isShardingFlag) {
      if (isDisabled) {
        return DISABLED;
      }
      if (isRunning) {
        return RUNNING;
      }
      if (isShardingFlag) {
        return SHARDING_FLAG;
      }
      return PENDING;
    }
  }

  public int getItem() {
    return item;
  }

  public void setItem(int item) {
    this.item = item;
  }

  public String getServerIp() {
    return serverIp;
  }

  public void setServerIp(String serverIp) {
    this.serverIp = serverIp;
  }

  public String getInstanceId() {
    return instanceId;
  }

  public void setInstanceId(String instanceId) {
    this.instanceId = instanceId;
  }

  public ShardingStatus getStatus() {
    return status;
  }

  public void setStatus(ShardingStatus status) {
    this.status = status;
  }

  public boolean isFailover() {
    return failover;
  }

  public void setFailover(boolean failover) {
    this.failover = failover;
  }

  public static long getSerialversionuid() {
    return serialVersionUID;
  }

  public ShardingInfo() {
    super();
    // TODO Auto-generated constructor stub
  }

  @Override
  public String toString() {
    return "ShardingInfo [item=" + item + ", serverIp=" + serverIp + ", instanceId=" + instanceId + ", status=" + status + ", failover=" + failover + "]";
  }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy