public class VersionTag extends Object
分布的存储使用版本号来辅助合作及识别冲突,版本号可能由多个标记组成,每个标记由三部分组成: - 存储节点(服务器)ID,由数字及字母组成,一般为两字符的16进制服务器ID,如“fe” - 一个字符修改标识(也作为节点ID与序号的分隔符):“+”表示修改,“-”表示删除 - 修改序号以十六进制字符表示,如“1f” 多标记的版本号以分号分隔,如:“fe+1;fe+1f;fe-1f”
| 限定符和类型 | 字段和说明 |
|---|---|
String |
node
节点ID
|
int |
ordinal
序号
|
static String |
UNVERSION
版本标识符- 未有版本
|
static int |
VERSION_CONFLICT
版本冲突
|
static int |
VERSION_ERROR
版本异常
|
static int |
VERSION_HIGH
版本比较高
|
static int |
VERSION_LOW
版本比较低
|
static char |
VERSION_MARK_CHANGE
版本标识符- 修改
|
static char |
VERSION_MARK_REMOVE
版本标识符- 删除
|
static int |
VERSION_SAME
版本相同
|
static char |
VERSION_SPEARATOR
版本号段分隔号
|
| 构造器和说明 |
|---|
VersionTag(String node,
int ordinal)
创建版本号标记
|
| 限定符和类型 | 方法和说明 |
|---|---|
static int |
compareVersion(String ver1,
String ver2)
比较版本ver1与ver2:相同、高、低、冲突
|
boolean |
equals(Object obj) |
static String |
format(String node,
int ordinal) |
static StringBuilder |
format(String node,
int ordinal,
StringBuilder builder) |
static String |
getLastTag(String version)
取得版本号串中最后的版本标签
|
String |
getNode() |
int |
getOrdinal() |
int |
getOrdinalAbs()
取得正版本号
|
boolean |
isRemoved()
是否已删除的版本标记
|
static boolean |
isRemoved(String versionTag)
检查标记版本是否有删除标记(序号小于0)
|
VersionTag |
next()
返回下一个版本标记
|
VersionTag |
next(boolean isRemoved)
返回下一个版本标记
|
VersionTag |
next(String node,
boolean isRemoved)
返回下一个版本标记
|
String |
toString() |
static VersionTag |
valueOf(String versionTag) |
public static final int VERSION_SAME
public static final int VERSION_LOW
public static final int VERSION_HIGH
public static final int VERSION_CONFLICT
public static final int VERSION_ERROR
public static final char VERSION_SPEARATOR
public static final char VERSION_MARK_CHANGE
public static final char VERSION_MARK_REMOVE
public final String node
public final int ordinal
public VersionTag(String node, int ordinal)
node - 节点IDordinal - 版本序号(由1开始)public static final boolean isRemoved(String versionTag)
versionTag - 版本,如 “fa+1”,“fa-1”public int getOrdinalAbs()
public String getNode()
public int getOrdinal()
public boolean isRemoved()
public VersionTag next()
public VersionTag next(boolean isRemoved)
isRemoved - 是否标记为删除的public VersionTag next(String node, boolean isRemoved)
node - 新指定的节点IDisRemoved - 是否标记为删除的public static StringBuilder format(String node, int ordinal, StringBuilder builder)
public static final VersionTag valueOf(String versionTag)
public static int compareVersion(String ver1, String ver2)
ver1 - 被比较版本ver2 - 参照版本Copyright © 2021. All rights reserved.