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