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