001
002package com.commercetools.api.predicates.query.cart;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class ItemShippingDetailsDraftQueryBuilderDsl {
009    public ItemShippingDetailsDraftQueryBuilderDsl() {
010    }
011
012    public static ItemShippingDetailsDraftQueryBuilderDsl of() {
013        return new ItemShippingDetailsDraftQueryBuilderDsl();
014    }
015
016    public CombinationQueryPredicate<ItemShippingDetailsDraftQueryBuilderDsl> targets(
017            Function<com.commercetools.api.predicates.query.cart.ItemShippingTargetQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart.ItemShippingTargetQueryBuilderDsl>> fn) {
018        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
019                .parent(ConstantQueryPredicate.of().constant("targets"))
020                .inner(fn.apply(com.commercetools.api.predicates.query.cart.ItemShippingTargetQueryBuilderDsl.of())),
021            ItemShippingDetailsDraftQueryBuilderDsl::of);
022    }
023
024    public CollectionPredicateBuilder<ItemShippingDetailsDraftQueryBuilderDsl> targets() {
025        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("targets")),
026            p -> new CombinationQueryPredicate<>(p, ItemShippingDetailsDraftQueryBuilderDsl::of));
027    }
028
029}