001
002package com.commercetools.api.predicates.query.order;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class OrderSearchRequestQueryBuilderDsl {
009    public OrderSearchRequestQueryBuilderDsl() {
010    }
011
012    public static OrderSearchRequestQueryBuilderDsl of() {
013        return new OrderSearchRequestQueryBuilderDsl();
014    }
015
016    public CombinationQueryPredicate<OrderSearchRequestQueryBuilderDsl> query(
017            Function<com.commercetools.api.predicates.query.order.OrderSearchQueryQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.OrderSearchQueryQueryBuilderDsl>> fn) {
018        return new CombinationQueryPredicate<>(
019            ContainerQueryPredicate.of()
020                    .parent(ConstantQueryPredicate.of().constant("query"))
021                    .inner(fn.apply(com.commercetools.api.predicates.query.order.OrderSearchQueryQueryBuilderDsl.of())),
022            OrderSearchRequestQueryBuilderDsl::of);
023    }
024
025    public CombinationQueryPredicate<OrderSearchRequestQueryBuilderDsl> sort(
026            Function<com.commercetools.api.predicates.query.order.OrderSearchSortingQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.OrderSearchSortingQueryBuilderDsl>> fn) {
027        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
028                .parent(ConstantQueryPredicate.of().constant("sort"))
029                .inner(fn.apply(com.commercetools.api.predicates.query.order.OrderSearchSortingQueryBuilderDsl.of())),
030            OrderSearchRequestQueryBuilderDsl::of);
031    }
032
033    public CollectionPredicateBuilder<OrderSearchRequestQueryBuilderDsl> sort() {
034        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sort")),
035            p -> new CombinationQueryPredicate<>(p, OrderSearchRequestQueryBuilderDsl::of));
036    }
037
038    public LongComparisonPredicateBuilder<OrderSearchRequestQueryBuilderDsl> limit() {
039        return new LongComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("limit")),
040            p -> new CombinationQueryPredicate<>(p, OrderSearchRequestQueryBuilderDsl::of));
041    }
042
043    public LongComparisonPredicateBuilder<OrderSearchRequestQueryBuilderDsl> offset() {
044        return new LongComparisonPredicateBuilder<>(
045            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("offset")),
046            p -> new CombinationQueryPredicate<>(p, OrderSearchRequestQueryBuilderDsl::of));
047    }
048
049}