public class ColumnValue extends Object implements Comparable<ColumnValue>, Jsonizable
限定符和类型 | 字段和说明 |
---|---|
static ColumnValue |
INTERNAL_NULL_VALUE
只供内部使用,请勿使用。
|
构造器和说明 |
---|
ColumnValue(Object value,
ColumnType type) |
限定符和类型 | 方法和说明 |
---|---|
byte[] |
asBinary()
获取属性列的二进制字符串类型的值。
|
boolean |
asBoolean()
获取属性列的布尔类型的值。
|
double |
asDouble()
获取属性列的DOUBLE类型的值。
|
long |
asLong()
获取属性列的长整型类型的值。
|
String |
asString()
获取属性列的字符串类型的值。
|
byte[] |
asStringInBytes() |
int |
compareTo(ColumnValue target)
比较两个属性列的值的大小。
|
boolean |
equals(Object o) |
static ColumnValue |
fromBinary(byte[] value)
构造一个类型为
ColumnType.BINARY 的属性列。 |
static ColumnValue |
fromBoolean(boolean value)
构造一个类型为
ColumnType.BOOLEAN 的属性列。 |
static ColumnValue |
fromDouble(double value)
构造一个类型为
ColumnType.DOUBLE 的属性列。 |
static ColumnValue |
fromLong(long value)
构造一个类型为
ColumnType.INTEGER 的属性列。 |
static ColumnValue |
fromString(String value)
构造一个类型为
ColumnType.STRING 的属性列。 |
byte |
getChecksum(byte crc)
采用crc8算法得到一个checksum,主要用于计算cell的checksum
|
int |
getSize()
获取主键列值的大小,各类型大小计算公式为:
-
ColumnType.INTEGER : 恒定大小为8个字节
- ColumnType.DOUBLE : 恒定大小为8个字节
- ColumnType.BOOLEAN : 恒定大小为1个字节
- ColumnType.BINARY : 大小为字节数
- ColumnType.STRING : 大小为按UTF-8编码后的字节数 |
ColumnType |
getType()
获取属性列的类型。
|
int |
hashCode() |
String |
jsonize() |
void |
jsonize(StringBuilder sb,
String newline) |
String |
toString() |
public static ColumnValue INTERNAL_NULL_VALUE
public ColumnValue(Object value, ColumnType type)
public int getSize()
ColumnType.INTEGER
: 恒定大小为8个字节
- ColumnType.DOUBLE
: 恒定大小为8个字节
- ColumnType.BOOLEAN
: 恒定大小为1个字节
- ColumnType.BINARY
: 大小为字节数
- ColumnType.STRING
: 大小为按UTF-8编码后的字节数public ColumnType getType()
public static ColumnValue fromString(String value)
ColumnType.STRING
的属性列。
注意:值不能为null pointer。
value
- 字符串类型的值。public static ColumnValue fromLong(long value)
ColumnType.INTEGER
的属性列。value
- 长整型的值。public static ColumnValue fromBinary(byte[] value)
ColumnType.BINARY
的属性列。
注意:值不能为null pointer。
value
- 二进制字符串类型的值。public static ColumnValue fromDouble(double value)
ColumnType.DOUBLE
的属性列。value
- double类型的值。public static ColumnValue fromBoolean(boolean value)
ColumnType.BOOLEAN
的属性列。value
- 布尔类型的值。public String asString()
当前仅当数据类型为ColumnType.STRING
才能获取到值。
public byte[] asStringInBytes()
public long asLong()
当前仅当数据类型为ColumnType.INTEGER
才能获取到值。
public byte[] asBinary()
当前仅当数据类型为ColumnType.BINARY
才能获取到值。
public double asDouble()
当前仅当数据类型为ColumnType.DOUBLE
才能获取到值。
public boolean asBoolean()
当前仅当数据类型为ColumnType.BOOLEAN
才能获取到值。
public byte getChecksum(byte crc) throws IOException
crc
- crc初始值IOException
public int compareTo(ColumnValue target)
注意:不同类型的属性列无法比较。
compareTo
在接口中 Comparable<ColumnValue>
target
- public String jsonize()
jsonize
在接口中 Jsonizable
public void jsonize(StringBuilder sb, String newline)
jsonize
在接口中 Jsonizable
Copyright © 2016. All Rights Reserved.