com.scalar.db.sql.statement.builder.OngoingWhere 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;
public interface 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_AND and(Predicate predicate);
/**
* Specifies WHERE predicates.
*
* @param orPredicateList a list of or-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_AND and(OrPredicateList orPredicateList);
/**
* Adds a WHERE predicate.
*
* @param predicate a WHERE predicate to add
* @return a builder object
*/
ONGOING_WHERE_OR or(Predicate predicate);
/**
* Specifies WHERE predicates.
*
* @param andPredicateList a list of and-wise WHERE predicates to add
* @return a builder object
*/
ONGOING_WHERE_OR or(AndPredicateList andPredicateList);
}