001 002package com.commercetools.api.predicates.query.standalone_price; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class StandalonePriceDraftQueryBuilderDsl { 009 public StandalonePriceDraftQueryBuilderDsl() { 010 } 011 012 public static StandalonePriceDraftQueryBuilderDsl of() { 013 return new StandalonePriceDraftQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> key() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")), 018 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 019 } 020 021 public StringComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> sku() { 022 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sku")), 023 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 024 } 025 026 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> value( 027 Function<com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl>> fn) { 028 return new CombinationQueryPredicate<>( 029 ContainerQueryPredicate.of() 030 .parent(ConstantQueryPredicate.of().constant("value")) 031 .inner(fn.apply(com.commercetools.api.predicates.query.common.MoneyQueryBuilderDsl.of())), 032 StandalonePriceDraftQueryBuilderDsl::of); 033 } 034 035 public StringComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> country() { 036 return new StringComparisonPredicateBuilder<>( 037 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("country")), 038 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 039 } 040 041 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> customerGroup( 042 Function<com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl>> fn) { 043 return new CombinationQueryPredicate<>(ContainerQueryPredicate.of() 044 .parent(ConstantQueryPredicate.of().constant("customerGroup")) 045 .inner(fn.apply( 046 com.commercetools.api.predicates.query.customer_group.CustomerGroupResourceIdentifierQueryBuilderDsl 047 .of())), 048 StandalonePriceDraftQueryBuilderDsl::of); 049 } 050 051 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> channel( 052 Function<com.commercetools.api.predicates.query.channel.ChannelResourceIdentifierQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.channel.ChannelResourceIdentifierQueryBuilderDsl>> fn) { 053 return new CombinationQueryPredicate<>( 054 ContainerQueryPredicate.of() 055 .parent(ConstantQueryPredicate.of().constant("channel")) 056 .inner(fn.apply( 057 com.commercetools.api.predicates.query.channel.ChannelResourceIdentifierQueryBuilderDsl.of())), 058 StandalonePriceDraftQueryBuilderDsl::of); 059 } 060 061 public DateTimeComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> validFrom() { 062 return new DateTimeComparisonPredicateBuilder<>( 063 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validFrom")), 064 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 065 } 066 067 public DateTimeComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> validUntil() { 068 return new DateTimeComparisonPredicateBuilder<>( 069 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validUntil")), 070 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 071 } 072 073 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> tiers( 074 Function<com.commercetools.api.predicates.query.common.PriceTierDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.PriceTierDraftQueryBuilderDsl>> fn) { 075 return new CombinationQueryPredicate<>( 076 ContainerQueryPredicate.of() 077 .parent(ConstantQueryPredicate.of().constant("tiers")) 078 .inner(fn.apply(com.commercetools.api.predicates.query.common.PriceTierDraftQueryBuilderDsl.of())), 079 StandalonePriceDraftQueryBuilderDsl::of); 080 } 081 082 public CollectionPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> tiers() { 083 return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("tiers")), 084 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 085 } 086 087 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> discounted( 088 Function<com.commercetools.api.predicates.query.common.DiscountedPriceDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.DiscountedPriceDraftQueryBuilderDsl>> fn) { 089 return new CombinationQueryPredicate<>( 090 ContainerQueryPredicate.of() 091 .parent(ConstantQueryPredicate.of().constant("discounted")) 092 .inner(fn.apply( 093 com.commercetools.api.predicates.query.common.DiscountedPriceDraftQueryBuilderDsl.of())), 094 StandalonePriceDraftQueryBuilderDsl::of); 095 } 096 097 public CombinationQueryPredicate<StandalonePriceDraftQueryBuilderDsl> custom( 098 Function<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl>> fn) { 099 return new CombinationQueryPredicate<>( 100 ContainerQueryPredicate.of() 101 .parent(ConstantQueryPredicate.of().constant("custom")) 102 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl.of())), 103 StandalonePriceDraftQueryBuilderDsl::of); 104 } 105 106 public BooleanComparisonPredicateBuilder<StandalonePriceDraftQueryBuilderDsl> active() { 107 return new BooleanComparisonPredicateBuilder<>( 108 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("active")), 109 p -> new CombinationQueryPredicate<>(p, StandalonePriceDraftQueryBuilderDsl::of)); 110 } 111 112}