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