001
002package com.commercetools.api.predicates.query.cart;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class ExternalTaxAmountDraftQueryBuilderDsl {
009    public ExternalTaxAmountDraftQueryBuilderDsl() {
010    }
011
012    public static ExternalTaxAmountDraftQueryBuilderDsl of() {
013        return new ExternalTaxAmountDraftQueryBuilderDsl();
014    }
015
016    public CombinationQueryPredicate<ExternalTaxAmountDraftQueryBuilderDsl> totalGross(
017            Function<com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl>> fn) {
018        return new CombinationQueryPredicate<>(
019            ContainerQueryPredicate.of()
020                    .parent(ConstantQueryPredicate.of().constant("totalGross"))
021                    .inner(fn.apply(com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl.of())),
022            ExternalTaxAmountDraftQueryBuilderDsl::of);
023    }
024
025    public CombinationQueryPredicate<ExternalTaxAmountDraftQueryBuilderDsl> taxRate(
026            Function<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl>> fn) {
027        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
028                .parent(ConstantQueryPredicate.of().constant("taxRate"))
029                .inner(fn.apply(com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl.of())),
030            ExternalTaxAmountDraftQueryBuilderDsl::of);
031    }
032
033}