001
002package com.commercetools.api.predicates.query.cart;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class CartAddShippingMethodActionQueryBuilderDsl {
009    public CartAddShippingMethodActionQueryBuilderDsl() {
010    }
011
012    public static CartAddShippingMethodActionQueryBuilderDsl of() {
013        return new CartAddShippingMethodActionQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<CartAddShippingMethodActionQueryBuilderDsl> action() {
017        return new StringComparisonPredicateBuilder<>(
018            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("action")),
019            p -> new CombinationQueryPredicate<>(p, CartAddShippingMethodActionQueryBuilderDsl::of));
020    }
021
022    public StringComparisonPredicateBuilder<CartAddShippingMethodActionQueryBuilderDsl> shippingKey() {
023        return new StringComparisonPredicateBuilder<>(
024            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("shippingKey")),
025            p -> new CombinationQueryPredicate<>(p, CartAddShippingMethodActionQueryBuilderDsl::of));
026    }
027
028    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> shippingMethod(
029            Function<com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl>> fn) {
030        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
031                .parent(ConstantQueryPredicate.of().constant("shippingMethod"))
032                .inner(fn.apply(
033                    com.commercetools.api.predicates.query.shipping_method.ShippingMethodResourceIdentifierQueryBuilderDsl
034                            .of())),
035            CartAddShippingMethodActionQueryBuilderDsl::of);
036    }
037
038    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> shippingAddress(
039            Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) {
040        return new CombinationQueryPredicate<>(
041            ContainerQueryPredicate.of()
042                    .parent(ConstantQueryPredicate.of().constant("shippingAddress"))
043                    .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())),
044            CartAddShippingMethodActionQueryBuilderDsl::of);
045    }
046
047    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> shippingRateInput(
048            Function<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl>> fn) {
049        return new CombinationQueryPredicate<>(
050            ContainerQueryPredicate.of()
051                    .parent(ConstantQueryPredicate.of().constant("shippingRateInput"))
052                    .inner(fn.apply(
053                        com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl.of())),
054            CartAddShippingMethodActionQueryBuilderDsl::of);
055    }
056
057    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> externalTaxRate(
058            Function<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl>> fn) {
059        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
060                .parent(ConstantQueryPredicate.of().constant("externalTaxRate"))
061                .inner(fn.apply(com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl.of())),
062            CartAddShippingMethodActionQueryBuilderDsl::of);
063    }
064
065    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> deliveries(
066            Function<com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl>> fn) {
067        return new CombinationQueryPredicate<>(
068            ContainerQueryPredicate.of()
069                    .parent(ConstantQueryPredicate.of().constant("deliveries"))
070                    .inner(fn.apply(com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl.of())),
071            CartAddShippingMethodActionQueryBuilderDsl::of);
072    }
073
074    public CollectionPredicateBuilder<CartAddShippingMethodActionQueryBuilderDsl> deliveries() {
075        return new CollectionPredicateBuilder<>(
076            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("deliveries")),
077            p -> new CombinationQueryPredicate<>(p, CartAddShippingMethodActionQueryBuilderDsl::of));
078    }
079
080    public CombinationQueryPredicate<CartAddShippingMethodActionQueryBuilderDsl> custom(
081            Function<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl>> fn) {
082        return new CombinationQueryPredicate<>(
083            ContainerQueryPredicate.of()
084                    .parent(ConstantQueryPredicate.of().constant("custom"))
085                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl.of())),
086            CartAddShippingMethodActionQueryBuilderDsl::of);
087    }
088
089}