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

com.aliyun.openservices.log.flink.model.LogstoreShardMeta Maven / Gradle / Ivy

package com.aliyun.openservices.log.flink.model;

import com.aliyun.openservices.log.flink.util.Consts;

import java.io.Serializable;
import java.util.Objects;

public class LogstoreShardMeta implements Serializable {
    private String logstore;
    private int shardId;
    private String shardStatus;
    private String endCursor;

    // DO NOT remove
    public LogstoreShardMeta() {
    }

    public LogstoreShardMeta(String logstore, int shardId, String shardStatus) {
        this.logstore = logstore;
        this.shardId = shardId;
        this.shardStatus = shardStatus;
    }

    public String getLogstore() {
        return logstore;
    }

    public void setLogstore(String logstore) {
        this.logstore = logstore;
    }

    public int getShardId() {
        return shardId;
    }

    public String getShardStatus() {
        return shardStatus;
    }

    public String getEndCursor() {
        return endCursor;
    }

    boolean needSetEndCursor() {
        return isReadOnly() && endCursor == null;
    }

    public void setShardId(int shardId) {
        this.shardId = shardId;
    }

    public void setShardStatus(String shardStatus) {
        this.shardStatus = shardStatus;
    }

    public void setEndCursor(String endCursor) {
        this.endCursor = endCursor;
    }

    public boolean isReadOnly() {
        return Consts.READONLY_SHARD_STATUS.equalsIgnoreCase(this.shardStatus);
    }

    public boolean isReadWrite() {
        return Consts.READWRITE_SHARD_STATUS.equalsIgnoreCase(this.shardStatus);
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        LogstoreShardMeta shardMeta = (LogstoreShardMeta) o;

        if (shardId != shardMeta.shardId) return false;
        return Objects.equals(logstore, shardMeta.logstore);
    }

    @Override
    public int hashCode() {
        int result = logstore != null ? logstore.hashCode() : 0;
        result = 31 * result + shardId;
        return result;
    }

    @Override
    public String toString() {
        return "LogstoreShardMeta{" +
                "logstore='" + logstore + '\'' +
                ", shardId=" + shardId +
                ", shardStatus='" + shardStatus + '\'' +
                ", endCursor='" + endCursor + '\'' +
                '}';
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy