All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.openservices.ots.model.MultiRowQueryCriteria Maven / Gradle / Ivy

package com.aliyun.openservices.ots.model;

import com.aliyun.openservices.ots.utils.Preconditions;

import java.util.ArrayList;
import java.util.List;

public class MultiRowQueryCriteria extends RowQueryCriteria {
    
    private List rowKeys;

    public MultiRowQueryCriteria(String tableName) {
        super(tableName);
        rowKeys = new ArrayList();
    }

    /**
     * 向多行查询条件中插入要查询的行的主键。
     * @param primaryKey 要查询的行的主键。
     */
    public void addRow(RowPrimaryKey primaryKey) {
        this.rowKeys.add(primaryKey);
    }

    /**
     * 获取该表中所要要查询的行的主键。
     * @return 所有行的主键。
     */
    public List getRowKeys() {
        return rowKeys;
    }

    /**
     * 设置该表中所有要查询的行的主键。
     * @param primaryKeys 所有行的主键。
     */
    public void setRowKeys(List primaryKeys) {
        this.rowKeys = primaryKeys;
    }

    /**
     * 获取某行的主键。
     * 

若该行index不存在,则返回null。

* * @param index 该行的索引 * @return 若该行存在,则返回该行主键,否则返回null */ public RowPrimaryKey get(int index) { Preconditions.checkArgument(index >= 0, "The index should not be negative."); if (rowKeys == null || rowKeys.isEmpty()) { return null; } if (index >= rowKeys.size()) { return null; } return rowKeys.get(index); } /** * 清空要查询的所有行。 */ public void clear() { this.rowKeys.clear(); } /** * 获取要查询的行的个数。 * * @return 行数。 */ public int size() { return rowKeys.size(); } public boolean isEmpty() { return rowKeys.isEmpty(); } public MultiRowQueryCriteria cloneWithoutRowKeys() { MultiRowQueryCriteria newCriteria = new MultiRowQueryCriteria(this.getTableName()); this.copyTo(newCriteria); return newCriteria; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy