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