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