001 002package com.commercetools.api.predicates.query.cart; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ShippingDraftQueryBuilderDsl { 009 public ShippingDraftQueryBuilderDsl() { 010 } 011 012 public static ShippingDraftQueryBuilderDsl of() { 013 return new ShippingDraftQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ShippingDraftQueryBuilderDsl> key() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")), 018 p -> new CombinationQueryPredicate<>(p, ShippingDraftQueryBuilderDsl::of)); 019 } 020 021 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> shippingMethod( 022 Function<com.commercetools.api.predicates.query.shipping_method.ShippingMethodReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.shipping_method.ShippingMethodReferenceQueryBuilderDsl>> fn) { 023 return new CombinationQueryPredicate<>(ContainerQueryPredicate.of() 024 .parent(ConstantQueryPredicate.of().constant("shippingMethod")) 025 .inner(fn.apply( 026 com.commercetools.api.predicates.query.shipping_method.ShippingMethodReferenceQueryBuilderDsl 027 .of())), 028 ShippingDraftQueryBuilderDsl::of); 029 } 030 031 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> shippingAddress( 032 Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) { 033 return new CombinationQueryPredicate<>( 034 ContainerQueryPredicate.of() 035 .parent(ConstantQueryPredicate.of().constant("shippingAddress")) 036 .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())), 037 ShippingDraftQueryBuilderDsl::of); 038 } 039 040 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> shippingRateInput( 041 Function<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl>> fn) { 042 return new CombinationQueryPredicate<>( 043 ContainerQueryPredicate.of() 044 .parent(ConstantQueryPredicate.of().constant("shippingRateInput")) 045 .inner(fn.apply( 046 com.commercetools.api.predicates.query.cart.ShippingRateInputDraftQueryBuilderDsl.of())), 047 ShippingDraftQueryBuilderDsl::of); 048 } 049 050 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> externalTaxRate( 051 Function<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl>> fn) { 052 return new CombinationQueryPredicate<>(ContainerQueryPredicate.of() 053 .parent(ConstantQueryPredicate.of().constant("externalTaxRate")) 054 .inner(fn.apply(com.commercetools.api.predicates.query.cart.ExternalTaxRateDraftQueryBuilderDsl.of())), 055 ShippingDraftQueryBuilderDsl::of); 056 } 057 058 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> deliveries( 059 Function<com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl>> fn) { 060 return new CombinationQueryPredicate<>( 061 ContainerQueryPredicate.of() 062 .parent(ConstantQueryPredicate.of().constant("deliveries")) 063 .inner(fn.apply(com.commercetools.api.predicates.query.order.DeliveryDraftQueryBuilderDsl.of())), 064 ShippingDraftQueryBuilderDsl::of); 065 } 066 067 public CollectionPredicateBuilder<ShippingDraftQueryBuilderDsl> deliveries() { 068 return new CollectionPredicateBuilder<>( 069 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("deliveries")), 070 p -> new CombinationQueryPredicate<>(p, ShippingDraftQueryBuilderDsl::of)); 071 } 072 073 public CombinationQueryPredicate<ShippingDraftQueryBuilderDsl> custom( 074 Function<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl>> fn) { 075 return new CombinationQueryPredicate<>( 076 ContainerQueryPredicate.of() 077 .parent(ConstantQueryPredicate.of().constant("custom")) 078 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsDraftQueryBuilderDsl.of())), 079 ShippingDraftQueryBuilderDsl::of); 080 } 081 082}