001
002package com.commercetools.api.predicates.query.cart;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class ItemShippingDetailsQueryBuilderDsl {
009    public ItemShippingDetailsQueryBuilderDsl() {
010    }
011
012    public static ItemShippingDetailsQueryBuilderDsl of() {
013        return new ItemShippingDetailsQueryBuilderDsl();
014    }
015
016    public CombinationQueryPredicate<ItemShippingDetailsQueryBuilderDsl> 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            ItemShippingDetailsQueryBuilderDsl::of);
022    }
023
024    public CollectionPredicateBuilder<ItemShippingDetailsQueryBuilderDsl> targets() {
025        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("targets")),
026            p -> new CombinationQueryPredicate<>(p, ItemShippingDetailsQueryBuilderDsl::of));
027    }
028
029    public BooleanComparisonPredicateBuilder<ItemShippingDetailsQueryBuilderDsl> valid() {
030        return new BooleanComparisonPredicateBuilder<>(
031            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("valid")),
032            p -> new CombinationQueryPredicate<>(p, ItemShippingDetailsQueryBuilderDsl::of));
033    }
034
035}