001
002package com.commercetools.api.predicates.query.review;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class ReviewQueryBuilderDsl {
009    public ReviewQueryBuilderDsl() {
010    }
011
012    public static ReviewQueryBuilderDsl of() {
013        return new ReviewQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> id() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")),
018            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
019    }
020
021    public LongComparisonPredicateBuilder<ReviewQueryBuilderDsl> version() {
022        return new LongComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")),
024            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
025    }
026
027    public DateTimeComparisonPredicateBuilder<ReviewQueryBuilderDsl> createdAt() {
028        return new DateTimeComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")),
030            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
031    }
032
033    public DateTimeComparisonPredicateBuilder<ReviewQueryBuilderDsl> lastModifiedAt() {
034        return new DateTimeComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")),
036            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<ReviewQueryBuilderDsl> lastModifiedBy(
040            Function<com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl>> fn) {
041        return new CombinationQueryPredicate<>(
042            ContainerQueryPredicate.of()
043                    .parent(ConstantQueryPredicate.of().constant("lastModifiedBy"))
044                    .inner(fn.apply(com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl.of())),
045            ReviewQueryBuilderDsl::of);
046    }
047
048    public CombinationQueryPredicate<ReviewQueryBuilderDsl> createdBy(
049            Function<com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl>> fn) {
050        return new CombinationQueryPredicate<>(
051            ContainerQueryPredicate.of()
052                    .parent(ConstantQueryPredicate.of().constant("createdBy"))
053                    .inner(fn.apply(com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl.of())),
054            ReviewQueryBuilderDsl::of);
055    }
056
057    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> key() {
058        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
059            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
060    }
061
062    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> uniquenessValue() {
063        return new StringComparisonPredicateBuilder<>(
064            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("uniquenessValue")),
065            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
066    }
067
068    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> locale() {
069        return new StringComparisonPredicateBuilder<>(
070            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("locale")),
071            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
072    }
073
074    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> authorName() {
075        return new StringComparisonPredicateBuilder<>(
076            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("authorName")),
077            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
078    }
079
080    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> title() {
081        return new StringComparisonPredicateBuilder<>(
082            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("title")),
083            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
084    }
085
086    public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> text() {
087        return new StringComparisonPredicateBuilder<>(
088            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("text")),
089            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
090    }
091
092    public CombinationQueryPredicate<ReviewQueryBuilderDsl> target(
093            Function<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl>> fn) {
094        return new CombinationQueryPredicate<>(
095            ContainerQueryPredicate.of()
096                    .parent(ConstantQueryPredicate.of().constant("target"))
097                    .inner(fn.apply(com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl.of())),
098            ReviewQueryBuilderDsl::of);
099    }
100
101    public BooleanComparisonPredicateBuilder<ReviewQueryBuilderDsl> includedInStatistics() {
102        return new BooleanComparisonPredicateBuilder<>(
103            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("includedInStatistics")),
104            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
105    }
106
107    public LongComparisonPredicateBuilder<ReviewQueryBuilderDsl> rating() {
108        return new LongComparisonPredicateBuilder<>(
109            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("rating")),
110            p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of));
111    }
112
113    public CombinationQueryPredicate<ReviewQueryBuilderDsl> state(
114            Function<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl>> fn) {
115        return new CombinationQueryPredicate<>(
116            ContainerQueryPredicate.of()
117                    .parent(ConstantQueryPredicate.of().constant("state"))
118                    .inner(fn.apply(com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl.of())),
119            ReviewQueryBuilderDsl::of);
120    }
121
122    public CombinationQueryPredicate<ReviewQueryBuilderDsl> customer(
123            Function<com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl>> fn) {
124        return new CombinationQueryPredicate<>(
125            ContainerQueryPredicate.of()
126                    .parent(ConstantQueryPredicate.of().constant("customer"))
127                    .inner(fn.apply(
128                        com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl.of())),
129            ReviewQueryBuilderDsl::of);
130    }
131
132    public CombinationQueryPredicate<ReviewQueryBuilderDsl> custom(
133            Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) {
134        return new CombinationQueryPredicate<>(
135            ContainerQueryPredicate.of()
136                    .parent(ConstantQueryPredicate.of().constant("custom"))
137                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())),
138            ReviewQueryBuilderDsl::of);
139    }
140
141}