Class QueryBuilder
- java.lang.Object
-
- com.epam.ta.reportportal.commons.querygen.QueryBuilder
-
public class QueryBuilder extends java.lang.ObjectPostgreSQL query builder using JOOQ. Constructs PostgreSQLQueryby provided filters.
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.function.BiPredicate<FilterCondition,FilterTarget>HAVING_CONDITIONPredicate that checks if filter condition should be applied with HAVINGstatic java.lang.StringSTATISTICS_KEYKey word for statistics criteria.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description QueryBuilderaddCondition(org.jooq.Condition condition)Adds condition to the queryQueryBuilderaddHavingCondition(org.jooq.Condition condition)Adds statistics condition to the queryQueryBuilderaddJoinToEnd(org.jooq.TableLike<? extends org.jooq.Record> table, org.jooq.JoinType joinType, org.jooq.Condition condition)QueryBuilderaddJointToStart(org.jooq.TableLike<? extends org.jooq.Record> table, org.jooq.JoinType joinType, org.jooq.Condition condition)org.jooq.SelectQuery<? extends org.jooq.Record>build()Builds queryQuerySuppliergetQuerySupplier()static QueryBuildernewBuilder(FilterTarget target)static QueryBuildernewBuilder(Queryable queryable)static QueryBuildernewBuilder(Queryable queryable, java.util.Set<java.lang.String> fields)static intretrieveOffsetAndApplyBoundaries(org.springframework.data.domain.Pageable pageable)QueryBuilderwith(int limit)Add limitQueryBuilderwith(org.jooq.Field<?> field, org.jooq.SortOrder sort)QueryBuilderwith(org.springframework.data.domain.Pageable pageable)AddsPageableconditionsQueryBuilderwith(org.springframework.data.domain.Sort sort)Convert properties to query criteria and add sortingSortQueryBuilderwithWrapperSort(org.springframework.data.domain.Sort sort)QueryBuilderwrap()Joins inner query to load all columns after filteringQueryBuilderwrapExcludingFields(java.lang.String... excludingFields)Joins inner query to load columns excluding provided fields after filtering
-
-
-
Field Detail
-
STATISTICS_KEY
public static final java.lang.String STATISTICS_KEY
Key word for statistics criteria. Query builder works a little bit in another way with statistics criteria. It implements kind of pivot using PostgerSQL possibilities- See Also:
- Constant Field Values
-
HAVING_CONDITION
public static final java.util.function.BiPredicate<FilterCondition,FilterTarget> HAVING_CONDITION
Predicate that checks if filter condition should be applied with HAVING
-
-
Method Detail
-
newBuilder
public static QueryBuilder newBuilder(FilterTarget target)
-
newBuilder
public static QueryBuilder newBuilder(Queryable queryable)
-
newBuilder
public static QueryBuilder newBuilder(Queryable queryable, java.util.Set<java.lang.String> fields)
-
addJointToStart
public QueryBuilder addJointToStart(org.jooq.TableLike<? extends org.jooq.Record> table, org.jooq.JoinType joinType, org.jooq.Condition condition)
-
addJoinToEnd
public QueryBuilder addJoinToEnd(org.jooq.TableLike<? extends org.jooq.Record> table, org.jooq.JoinType joinType, org.jooq.Condition condition)
-
addCondition
public QueryBuilder addCondition(org.jooq.Condition condition)
Adds condition to the query- Parameters:
condition- Condition- Returns:
- QueryBuilder
-
addHavingCondition
public QueryBuilder addHavingCondition(org.jooq.Condition condition)
Adds statistics condition to the query- Parameters:
condition- Condition
-
with
public QueryBuilder with(org.springframework.data.domain.Pageable pageable)
AddsPageableconditions- Parameters:
pageable- Pageable- Returns:
- QueryBuilder
-
with
public QueryBuilder with(int limit)
Add limit- Parameters:
limit- Limit- Returns:
- QueryBuilder
-
with
public QueryBuilder with(org.springframework.data.domain.Sort sort)
Convert properties to query criteria and add sortingSort- Parameters:
sort- Sort condition- Returns:
- QueryBuilder
-
with
public QueryBuilder with(org.jooq.Field<?> field, org.jooq.SortOrder sort)
-
getQuerySupplier
public QuerySupplier getQuerySupplier()
-
build
public org.jooq.SelectQuery<? extends org.jooq.Record> build()
Builds query- Returns:
- Query
-
wrap
public QueryBuilder wrap()
Joins inner query to load all columns after filtering- Returns:
- Query builder
-
wrapExcludingFields
public QueryBuilder wrapExcludingFields(java.lang.String... excludingFields)
Joins inner query to load columns excluding provided fields after filtering- Returns:
- Query builder
-
withWrapperSort
public QueryBuilder withWrapperSort(org.springframework.data.domain.Sort sort)
-
retrieveOffsetAndApplyBoundaries
public static int retrieveOffsetAndApplyBoundaries(org.springframework.data.domain.Pageable pageable)
-
-