public class PrimaryKey extends Object implements Comparable<PrimaryKey>, Jsonizable, Measurable
PrimaryKey
),
主键由多列主键列构成(PrimaryKeyColumn
),
每一个主键列包含主键列名称和主键列的值PrimaryKeyValue
。
主键中包含的主键列的个数以及主键列的顺序与创建表时TableMeta中定义的一致。
构造器和说明 |
---|
PrimaryKey()
internal use
|
PrimaryKey(List<PrimaryKeyColumn> primaryKey)
构造函数。
|
PrimaryKey(PrimaryKeyColumn[] primaryKey)
构造函数。
|
限定符和类型 | 方法和说明 |
---|---|
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()
已过时。
|
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
在接口中 Measurable
public int compareTo(PrimaryKey target)
对比的两个主键必须为相同的schema,即列数、主键名称和顺序都完全一致。
compareTo
在接口中 Comparable<PrimaryKey>
target
- public String jsonize()
jsonize
在接口中 Jsonizable
public void jsonize(StringBuilder sb, String newline)
jsonize
在接口中 Jsonizable
Copyright © 2017. All Rights Reserved.