public class PrimaryKey extends Object implements Comparable<PrimaryKey>, Jsonizable, Measurable
PrimaryKey),
主键由多列主键列构成(PrimaryKeyColumn),
每一个主键列包含主键列名称和主键列的值PrimaryKeyValue。
主键中包含的主键列的个数以及主键列的顺序与创建表时TableMeta中定义的一致。
| Constructor and Description |
|---|
PrimaryKey()
internal use
|
PrimaryKey(List<PrimaryKeyColumn> primaryKey)
构造函数。
|
PrimaryKey(PrimaryKeyColumn[] primaryKey)
构造函数。
|
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(PrimaryKey target)
比较两个主键。
|
boolean |
contains(String name)
检查主键中是否有该名称的主键列。
|
boolean |
equals(Object o) |
int |
getDataSize()
获取行主键的数据大小总和,大小总和包括所有主键列的名称和值。
|
PrimaryKeyColumn |
getPrimaryKeyColumn(int index)
按位置获取对应的主键列。
|
PrimaryKeyColumn |
getPrimaryKeyColumn(String name)
获取某个指定名称的主键列。
|
PrimaryKeyColumn[] |
getPrimaryKeyColumns()
获取所有的主键列。
|
Map<String,PrimaryKeyColumn> |
getPrimaryKeyColumnsMap()
获取主键列名称与主键列映射的Map。
|
int |
getSize()
Deprecated.
|
int |
hashCode() |
boolean |
isEmpty()
该主键是否为空,若主键未包含任何主键列则代表该主键为空。
|
String |
jsonize() |
void |
jsonize(StringBuilder sb,
String newline) |
int |
size()
返回主键列的个数。
|
String |
toString() |
public PrimaryKey(PrimaryKeyColumn[] primaryKey)
传入的主键列数组不能为null pointer,主键列的个数以及主键列在数组中的顺序必须与创建表时TableMeta中定义的一致。
primaryKey - 该主键包含的所有主键列public PrimaryKey(List<PrimaryKeyColumn> primaryKey)
传入的主键列列表不能为null pointer,主键列的个数以及主键列在列表中的顺序必须与创建表时TableMeta中定义的一致。
primaryKey - public PrimaryKey()
public PrimaryKeyColumn getPrimaryKeyColumn(String name)
若找不到该名称的主键列,则返回null。
若初始化时传入的主键列列表包含相同名称的主键列,则不保证返回具体哪个对应名称的主键列的值。
name - 主键列的名称public PrimaryKeyColumn getPrimaryKeyColumn(int index)
主键中包含的主键列的个数以及主键列的顺序与创建表时TableMeta中定义的一致。
若对应的位置不存在,会抛出IllegalArgumentException异常。
index - 主键列的位置public PrimaryKeyColumn[] getPrimaryKeyColumns()
主键中包含的主键列的个数以及主键列的顺序与创建表时TableMeta中定义的一致。
public Map<String,PrimaryKeyColumn> getPrimaryKeyColumnsMap()
若初始化时传入的主键列列表包含相同名称的主键列,则返回的Map中只会返回其中的一列。
public boolean contains(String name)
name - 主键列的名称public int size()
public boolean isEmpty()
@Deprecated public int getSize()
public int getDataSize()
getDataSize in interface Measurablepublic int compareTo(PrimaryKey target)
对比的两个主键必须为相同的schema,即列数、主键名称和顺序都完全一致。
compareTo in interface Comparable<PrimaryKey>target - public String jsonize()
jsonize in interface Jsonizablepublic void jsonize(StringBuilder sb, String newline)
jsonize in interface JsonizableCopyright © 2024. All Rights Reserved.