001
002package com.commercetools.api.predicates.query.order_edit;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class OrderExcerptQueryBuilderDsl {
009    public OrderExcerptQueryBuilderDsl() {
010    }
011
012    public static OrderExcerptQueryBuilderDsl of() {
013        return new OrderExcerptQueryBuilderDsl();
014    }
015
016    public CombinationQueryPredicate<OrderExcerptQueryBuilderDsl> totalPrice(
017            Function<com.commercetools.api.predicates.query.common.TypedMoneyQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.TypedMoneyQueryBuilderDsl>> fn) {
018        return new CombinationQueryPredicate<>(
019            ContainerQueryPredicate.of()
020                    .parent(ConstantQueryPredicate.of().constant("totalPrice"))
021                    .inner(fn.apply(com.commercetools.api.predicates.query.common.TypedMoneyQueryBuilderDsl.of())),
022            OrderExcerptQueryBuilderDsl::of);
023    }
024
025    public CombinationQueryPredicate<OrderExcerptQueryBuilderDsl> taxedPrice(
026            Function<com.commercetools.api.predicates.query.cart.TaxedPriceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.TaxedPriceQueryBuilderDsl>> fn) {
027        return new CombinationQueryPredicate<>(
028            ContainerQueryPredicate.of()
029                    .parent(ConstantQueryPredicate.of().constant("taxedPrice"))
030                    .inner(fn.apply(com.commercetools.api.predicates.query.cart.TaxedPriceQueryBuilderDsl.of())),
031            OrderExcerptQueryBuilderDsl::of);
032    }
033
034    public LongComparisonPredicateBuilder<OrderExcerptQueryBuilderDsl> version() {
035        return new LongComparisonPredicateBuilder<>(
036            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")),
037            p -> new CombinationQueryPredicate<>(p, OrderExcerptQueryBuilderDsl::of));
038    }
039
040}