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