001
002package com.commercetools.api.predicates.query.discount_code;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class DiscountCodeQueryBuilderDsl {
009    public DiscountCodeQueryBuilderDsl() {
010    }
011
012    public static DiscountCodeQueryBuilderDsl of() {
013        return new DiscountCodeQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> id() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")),
018            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
019    }
020
021    public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> version() {
022        return new LongComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")),
024            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
025    }
026
027    public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> createdAt() {
028        return new DateTimeComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")),
030            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
031    }
032
033    public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> lastModifiedAt() {
034        return new DateTimeComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")),
036            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> 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            DiscountCodeQueryBuilderDsl::of);
046    }
047
048    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> 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            DiscountCodeQueryBuilderDsl::of);
055    }
056
057    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> name(
058            Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) {
059        return new CombinationQueryPredicate<>(
060            ContainerQueryPredicate.of()
061                    .parent(ConstantQueryPredicate.of().constant("name"))
062                    .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())),
063            DiscountCodeQueryBuilderDsl::of);
064    }
065
066    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> description(
067            Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) {
068        return new CombinationQueryPredicate<>(
069            ContainerQueryPredicate.of()
070                    .parent(ConstantQueryPredicate.of().constant("description"))
071                    .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())),
072            DiscountCodeQueryBuilderDsl::of);
073    }
074
075    public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> code() {
076        return new StringComparisonPredicateBuilder<>(
077            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("code")),
078            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
079    }
080
081    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> cartDiscounts(
082            Function<com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl>> fn) {
083        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
084                .parent(ConstantQueryPredicate.of().constant("cartDiscounts"))
085                .inner(fn.apply(
086                    com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl.of())),
087            DiscountCodeQueryBuilderDsl::of);
088    }
089
090    public CollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> cartDiscounts() {
091        return new CollectionPredicateBuilder<>(
092            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("cartDiscounts")),
093            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
094    }
095
096    public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> cartPredicate() {
097        return new StringComparisonPredicateBuilder<>(
098            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("cartPredicate")),
099            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
100    }
101
102    public BooleanComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> isActive() {
103        return new BooleanComparisonPredicateBuilder<>(
104            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("isActive")),
105            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
106    }
107
108    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> references(
109            Function<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl>> fn) {
110        return new CombinationQueryPredicate<>(
111            ContainerQueryPredicate.of()
112                    .parent(ConstantQueryPredicate.of().constant("references"))
113                    .inner(fn.apply(com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl.of())),
114            DiscountCodeQueryBuilderDsl::of);
115    }
116
117    public CollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> references() {
118        return new CollectionPredicateBuilder<>(
119            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("references")),
120            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
121    }
122
123    public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> maxApplications() {
124        return new LongComparisonPredicateBuilder<>(
125            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("maxApplications")),
126            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
127    }
128
129    public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> maxApplicationsPerCustomer() {
130        return new LongComparisonPredicateBuilder<>(
131            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("maxApplicationsPerCustomer")),
132            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
133    }
134
135    public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> custom(
136            Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) {
137        return new CombinationQueryPredicate<>(
138            ContainerQueryPredicate.of()
139                    .parent(ConstantQueryPredicate.of().constant("custom"))
140                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())),
141            DiscountCodeQueryBuilderDsl::of);
142    }
143
144    public StringCollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> groups() {
145        return new StringCollectionPredicateBuilder<>(
146            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("groups")),
147            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
148    }
149
150    public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> validFrom() {
151        return new DateTimeComparisonPredicateBuilder<>(
152            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validFrom")),
153            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
154    }
155
156    public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> validUntil() {
157        return new DateTimeComparisonPredicateBuilder<>(
158            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validUntil")),
159            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
160    }
161
162    public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> applicationVersion() {
163        return new LongComparisonPredicateBuilder<>(
164            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("applicationVersion")),
165            p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of));
166    }
167
168}