public class PrimaryKeyValue extends Object implements Comparable<PrimaryKeyValue>, Measurable
若要构造PrimaryKeyType.INTEGER类型的主键列,请使用fromLong(long)来初始化。
若要构造PrimaryKeyType.STRING类型的主键列,请使用fromString(String)来初始化。
若要构造PrimaryKeyType.BINARY类型的主键列,请使用fromBinary(byte[])来初始化。
注意:INF_MIN和INF_MAX是特殊的主键列,其唯一的用途是用于SyncClientInterface.getRange(GetRangeRequest)
操作中表示主键列的范围,不能作为实际的数据写入TableStore,也不能作为除GetRange操作之外的读操作的参数。
| Modifier and Type | Field and Description |
|---|---|
static PrimaryKeyValue |
AUTO_INCREMENT |
static PrimaryKeyValue |
AUTO_INCRMENT
Deprecated.
|
static PrimaryKeyValue |
INF_MAX
表示主键值范围的最大值,其唯一的用途是用于
SyncClientInterface.getRange(GetRangeRequest)
操作中表示主键列的范围,不能作为实际的数据写入TableStore,也不能作为除GetRange操作之外的读操作的参数。 |
static PrimaryKeyValue |
INF_MIN
表示主键值范围的最小值,其唯一的用途是用于
SyncClientInterface.getRange(GetRangeRequest)
操作中表示主键列的范围,不能作为实际的数据写入TableStore,也不能作为除GetRange操作之外的读操作的参数。 |
| Modifier and Type | Method and Description |
|---|---|
static PrimaryKeyValue |
addOne(PrimaryKeyValue target) |
byte[] |
asBinary()
获取主键列的二进制字符串类型的值。
|
long |
asLong()
获取主键列的长整型类型的值。
|
String |
asString()
获取主键列的字符串类型的值。
|
byte[] |
asStringInBytes() |
int |
compareTo(PrimaryKeyValue target)
比较两个主键列的值的大小。
|
boolean |
equals(Object o) |
static PrimaryKeyValue |
fromBinary(byte[] value)
构造一个类型为
PrimaryKeyType.BINARY的主键列。 |
static PrimaryKeyValue |
fromColumn(ColumnValue value) |
static PrimaryKeyValue |
fromLong(long value)
构造一个类型为
PrimaryKeyType.INTEGER的主键列。 |
static PrimaryKeyValue |
fromString(String value)
构造一个类型为
PrimaryKeyType.STRING的主键列。 |
byte |
getChecksum(byte crc)
采用crc8算法得到一个checksum,主要用于计算cell的checksum
|
int |
getDataSize()
获取主键列值的大小,各类型大小计算公式为:
-
PrimaryKeyType.INTEGER: 恒定大小为8个字节
- PrimaryKeyType.STRING: 大小为按UTF-8编码后的字节数 |
int |
getSize()
Deprecated.
|
PrimaryKeyType |
getType()
获取主键列的类型。
|
int |
hashCode() |
boolean |
isInfMax()
For internal use.
|
boolean |
isInfMin()
For internal use.
|
boolean |
isPlaceHolderForAutoIncr()
For internal use.
|
ColumnValue |
toColumnValue() |
String |
toString() |
public static final PrimaryKeyValue INF_MAX
SyncClientInterface.getRange(GetRangeRequest)
操作中表示主键列的范围,不能作为实际的数据写入TableStore,也不能作为除GetRange操作之外的读操作的参数。public static final PrimaryKeyValue INF_MIN
SyncClientInterface.getRange(GetRangeRequest)
操作中表示主键列的范围,不能作为实际的数据写入TableStore,也不能作为除GetRange操作之外的读操作的参数。@Deprecated public static final PrimaryKeyValue AUTO_INCRMENT
public static final PrimaryKeyValue AUTO_INCREMENT
public PrimaryKeyType getType()
@Deprecated public int getSize()
public int getDataSize()
PrimaryKeyType.INTEGER: 恒定大小为8个字节
- PrimaryKeyType.STRING: 大小为按UTF-8编码后的字节数getDataSize in interface Measurablepublic static PrimaryKeyValue fromString(String value)
PrimaryKeyType.STRING的主键列。
注意:值不能为null pointer。
value - 字符串类型的值。public static PrimaryKeyValue fromLong(long value)
PrimaryKeyType.INTEGER的主键列。value - 长整型的值。public static PrimaryKeyValue fromBinary(byte[] value)
PrimaryKeyType.BINARY的主键列。
注意:值不能为null pointer。
value - 二进制字符串类型的值。public static PrimaryKeyValue fromColumn(ColumnValue value)
public byte getChecksum(byte crc)
throws IOException
crc - IOExceptionpublic ColumnValue toColumnValue() throws IOException
IOExceptionpublic String asString()
当前仅当数据类型为PrimaryKeyType.STRING才能获取到值。
public byte[] asStringInBytes()
public long asLong()
当前仅当数据类型为PrimaryKeyType.INTEGER才能获取到值。
public byte[] asBinary()
当前仅当数据类型为PrimaryKeyType.BINARY才能获取到值。
public boolean isInfMin()
public boolean isInfMax()
public boolean isPlaceHolderForAutoIncr()
public int compareTo(PrimaryKeyValue target)
注意:不同类型的主键列无法比较。
INF_MIN和INF_MAX可以与其他类型的主键列进行比较,
并且INF_MIN比任何类型的主键列值小,INF_MAX比任何类型的主键列值大。
compareTo in interface Comparable<PrimaryKeyValue>target - public static PrimaryKeyValue addOne(PrimaryKeyValue target)
Copyright © 2024. All Rights Reserved.