001
002package com.commercetools.api.predicates.query.cart;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class CartDraftQueryBuilderDsl {
009    public CartDraftQueryBuilderDsl() {
010    }
011
012    public static CartDraftQueryBuilderDsl of() {
013        return new CartDraftQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> currency() {
017        return new StringComparisonPredicateBuilder<>(
018            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("currency")),
019            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
020    }
021
022    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> key() {
023        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
024            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
025    }
026
027    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> customerId() {
028        return new StringComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customerId")),
030            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
031    }
032
033    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> customerEmail() {
034        return new StringComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customerEmail")),
036            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> customerGroup(
040            Function<com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl>> fn) {
041        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
042                .parent(ConstantQueryPredicate.of().constant("customerGroup"))
043                .inner(fn.apply(
044                    com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl
045                            .of())),
046            CartDraftQueryBuilderDsl::of);
047    }
048
049    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> anonymousId() {
050        return new StringComparisonPredicateBuilder<>(
051            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("anonymousId")),
052            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
053    }
054
055    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> businessUnit(
056            Function<com.commercetools.api.predicates.query.business_unit.BusinessUnitResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.business_unit.BusinessUnitResourceIdentifierQueryBuilderDsl>> fn) {
057        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
058                .parent(ConstantQueryPredicate.of().constant("businessUnit"))
059                .inner(fn.apply(
060                    com.commercetools.api.predicates.query.business_unit.BusinessUnitResourceIdentifierQueryBuilderDsl
061                            .of())),
062            CartDraftQueryBuilderDsl::of);
063    }
064
065    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> store(
066            Function<com.commercetools.api.predicates.query.store.StoreResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.store.StoreResourceIdentifierQueryBuilderDsl>> fn) {
067        return new CombinationQueryPredicate<>(
068            ContainerQueryPredicate.of()
069                    .parent(ConstantQueryPredicate.of().constant("store"))
070                    .inner(fn.apply(
071                        com.commercetools.api.predicates.query.store.StoreResourceIdentifierQueryBuilderDsl.of())),
072            CartDraftQueryBuilderDsl::of);
073    }
074
075    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> lineItems(
076            Function<com.commercetools.api.predicates.query.cart.LineItemDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.LineItemDraftQueryBuilderDsl>> fn) {
077        return new CombinationQueryPredicate<>(
078            ContainerQueryPredicate.of()
079                    .parent(ConstantQueryPredicate.of().constant("lineItems"))
080                    .inner(fn.apply(com.commercetools.api.predicates.query.cart.LineItemDraftQueryBuilderDsl.of())),
081            CartDraftQueryBuilderDsl::of);
082    }
083
084    public CollectionPredicateBuilder<CartDraftQueryBuilderDsl> lineItems() {
085        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lineItems")),
086            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
087    }
088
089    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> customLineItems(
090            Function<com.commercetools.api.predicates.query.cart.CustomLineItemDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.CustomLineItemDraftQueryBuilderDsl>> fn) {
091        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
092                .parent(ConstantQueryPredicate.of().constant("customLineItems"))
093                .inner(fn.apply(com.commercetools.api.predicates.query.cart.CustomLineItemDraftQueryBuilderDsl.of())),
094            CartDraftQueryBuilderDsl::of);
095    }
096
097    public CollectionPredicateBuilder<CartDraftQueryBuilderDsl> customLineItems() {
098        return new CollectionPredicateBuilder<>(
099            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customLineItems")),
100            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
101    }
102
103    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> taxMode() {
104        return new StringComparisonPredicateBuilder<>(
105            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("taxMode")),
106            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
107    }
108
109    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> externalTaxRateForShippingMethod(
110            Function<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl>> fn) {
111        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
112                .parent(ConstantQueryPredicate.of().constant("externalTaxRateForShippingMethod"))
113                .inner(fn.apply(com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl.of())),
114            CartDraftQueryBuilderDsl::of);
115    }
116
117    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> taxRoundingMode() {
118        return new StringComparisonPredicateBuilder<>(
119            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("taxRoundingMode")),
120            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
121    }
122
123    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> taxCalculationMode() {
124        return new StringComparisonPredicateBuilder<>(
125            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("taxCalculationMode")),
126            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
127    }
128
129    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> inventoryMode() {
130        return new StringComparisonPredicateBuilder<>(
131            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("inventoryMode")),
132            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
133    }
134
135    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> billingAddress(
136            Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) {
137        return new CombinationQueryPredicate<>(
138            ContainerQueryPredicate.of()
139                    .parent(ConstantQueryPredicate.of().constant("billingAddress"))
140                    .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())),
141            CartDraftQueryBuilderDsl::of);
142    }
143
144    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> shippingAddress(
145            Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) {
146        return new CombinationQueryPredicate<>(
147            ContainerQueryPredicate.of()
148                    .parent(ConstantQueryPredicate.of().constant("shippingAddress"))
149                    .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())),
150            CartDraftQueryBuilderDsl::of);
151    }
152
153    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> shippingMethod(
154            Function<com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl>> fn) {
155        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
156                .parent(ConstantQueryPredicate.of().constant("shippingMethod"))
157                .inner(fn.apply(
158                    com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl
159                            .of())),
160            CartDraftQueryBuilderDsl::of);
161    }
162
163    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> shippingRateInput(
164            Function<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl>> fn) {
165        return new CombinationQueryPredicate<>(
166            ContainerQueryPredicate.of()
167                    .parent(ConstantQueryPredicate.of().constant("shippingRateInput"))
168                    .inner(fn.apply(
169                        com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl.of())),
170            CartDraftQueryBuilderDsl::of);
171    }
172
173    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> shippingMode() {
174        return new StringComparisonPredicateBuilder<>(
175            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("shippingMode")),
176            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
177    }
178
179    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> customShipping(
180            Function<com.commercetools.api.predicates.query.cart.CustomShippingDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.CustomShippingDraftQueryBuilderDsl>> fn) {
181        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
182                .parent(ConstantQueryPredicate.of().constant("customShipping"))
183                .inner(fn.apply(com.commercetools.api.predicates.query.cart.CustomShippingDraftQueryBuilderDsl.of())),
184            CartDraftQueryBuilderDsl::of);
185    }
186
187    public CollectionPredicateBuilder<CartDraftQueryBuilderDsl> customShipping() {
188        return new CollectionPredicateBuilder<>(
189            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customShipping")),
190            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
191    }
192
193    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> shipping(
194            Function<com.commercetools.api.predicates.query.cart.ShippingDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ShippingDraftQueryBuilderDsl>> fn) {
195        return new CombinationQueryPredicate<>(
196            ContainerQueryPredicate.of()
197                    .parent(ConstantQueryPredicate.of().constant("shipping"))
198                    .inner(fn.apply(com.commercetools.api.predicates.query.cart.ShippingDraftQueryBuilderDsl.of())),
199            CartDraftQueryBuilderDsl::of);
200    }
201
202    public CollectionPredicateBuilder<CartDraftQueryBuilderDsl> shipping() {
203        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("shipping")),
204            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
205    }
206
207    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> itemShippingAddresses(
208            Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) {
209        return new CombinationQueryPredicate<>(
210            ContainerQueryPredicate.of()
211                    .parent(ConstantQueryPredicate.of().constant("itemShippingAddresses"))
212                    .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())),
213            CartDraftQueryBuilderDsl::of);
214    }
215
216    public CollectionPredicateBuilder<CartDraftQueryBuilderDsl> itemShippingAddresses() {
217        return new CollectionPredicateBuilder<>(
218            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("itemShippingAddresses")),
219            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
220    }
221
222    public StringCollectionPredicateBuilder<CartDraftQueryBuilderDsl> discountCodes() {
223        return new StringCollectionPredicateBuilder<>(
224            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("discountCodes")),
225            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
226    }
227
228    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> country() {
229        return new StringComparisonPredicateBuilder<>(
230            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("country")),
231            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
232    }
233
234    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> locale() {
235        return new StringComparisonPredicateBuilder<>(
236            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("locale")),
237            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
238    }
239
240    public StringComparisonPredicateBuilder<CartDraftQueryBuilderDsl> origin() {
241        return new StringComparisonPredicateBuilder<>(
242            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("origin")),
243            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
244    }
245
246    public LongComparisonPredicateBuilder<CartDraftQueryBuilderDsl> deleteDaysAfterLastModification() {
247        return new LongComparisonPredicateBuilder<>(
248            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("deleteDaysAfterLastModification")),
249            p -> new CombinationQueryPredicate<>(p, CartDraftQueryBuilderDsl::of));
250    }
251
252    public CombinationQueryPredicate<CartDraftQueryBuilderDsl> custom(
253            Function<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl>> fn) {
254        return new CombinationQueryPredicate<>(
255            ContainerQueryPredicate.of()
256                    .parent(ConstantQueryPredicate.of().constant("custom"))
257                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl.of())),
258            CartDraftQueryBuilderDsl::of);
259    }
260
261}