com.scalar.db.sql.statement.builder.WhereStart Maven / Gradle / Ivy
package com.scalar.db.sql.statement.builder;
import com.scalar.db.sql.AndPredicateList;
import com.scalar.db.sql.OrPredicateList;
import com.scalar.db.sql.Predicate;
import java.util.List;
public interface WhereStart<
ONGOING_WHERE extends OngoingWhere, ?>,
ONGOING_WHERE_OR extends OngoingWhereOr>,
ONGOING_WHERE_AND extends OngoingWhereAnd>> {
/**
* Adds a WHERE predicate.
*
* @param predicate a WHERE predicate to add
* @return a builder object
*/
ONGOING_WHERE where(Predicate predicate);
/**
* Specifies WHERE predicates.
*
* @param predicates WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_OR where(List predicates);
/**
* Specifies WHERE predicates.
*
* @param andPredicateList a list of and-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_OR where(AndPredicateList andPredicateList);
/**
* Specifies WHERE predicates.
*
* @param orPredicateList a list of or-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_AND where(OrPredicateList orPredicateList);
/**
* Specifies WHERE predicates.
*
* @param andPredicateLists or-wise sets of and-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_OR whereOr(List andPredicateLists);
/**
* Specifies WHERE predicates.
*
* @param orPredicateLists and-wise sets of or-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_AND whereAnd(List orPredicateLists);
}