001 002package com.commercetools.api.predicates.query.message; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl { 009 public ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl() { 010 } 011 012 public static ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl of() { 013 return new ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> type() { 017 return new StringComparisonPredicateBuilder<>( 018 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("type")), 019 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 020 } 021 022 public LongComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> variantId() { 023 return new LongComparisonPredicateBuilder<>( 024 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("variantId")), 025 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 026 } 027 028 public StringComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> variantKey() { 029 return new StringComparisonPredicateBuilder<>( 030 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("variantKey")), 031 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 032 } 033 034 public StringComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> sku() { 035 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sku")), 036 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 037 } 038 039 public StringComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> priceId() { 040 return new StringComparisonPredicateBuilder<>( 041 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("priceId")), 042 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 043 } 044 045 public CombinationQueryPredicate<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> discounted( 046 Function<com.commercetools.api.predicates.query.common.DiscountedPriceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.DiscountedPriceQueryBuilderDsl>> fn) { 047 return new CombinationQueryPredicate<>( 048 ContainerQueryPredicate.of() 049 .parent(ConstantQueryPredicate.of().constant("discounted")) 050 .inner(fn.apply(com.commercetools.api.predicates.query.common.DiscountedPriceQueryBuilderDsl.of())), 051 ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of); 052 } 053 054 public BooleanComparisonPredicateBuilder<ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl> staged() { 055 return new BooleanComparisonPredicateBuilder<>( 056 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("staged")), 057 p -> new CombinationQueryPredicate<>(p, ProductPriceExternalDiscountSetMessagePayloadQueryBuilderDsl::of)); 058 } 059 060}