001
002package com.commercetools.api.predicates.query.tax_category;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class TaxCategoryQueryBuilderDsl {
009    public TaxCategoryQueryBuilderDsl() {
010    }
011
012    public static TaxCategoryQueryBuilderDsl of() {
013        return new TaxCategoryQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> id() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")),
018            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
019    }
020
021    public LongComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> version() {
022        return new LongComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")),
024            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
025    }
026
027    public DateTimeComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> createdAt() {
028        return new DateTimeComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")),
030            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
031    }
032
033    public DateTimeComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> lastModifiedAt() {
034        return new DateTimeComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")),
036            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<TaxCategoryQueryBuilderDsl> lastModifiedBy(
040            Function<com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl>> fn) {
041        return new CombinationQueryPredicate<>(
042            ContainerQueryPredicate.of()
043                    .parent(ConstantQueryPredicate.of().constant("lastModifiedBy"))
044                    .inner(fn.apply(com.commercetools.api.predicates.query.common.LastModifiedByQueryBuilderDsl.of())),
045            TaxCategoryQueryBuilderDsl::of);
046    }
047
048    public CombinationQueryPredicate<TaxCategoryQueryBuilderDsl> createdBy(
049            Function<com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl>> fn) {
050        return new CombinationQueryPredicate<>(
051            ContainerQueryPredicate.of()
052                    .parent(ConstantQueryPredicate.of().constant("createdBy"))
053                    .inner(fn.apply(com.commercetools.api.predicates.query.common.CreatedByQueryBuilderDsl.of())),
054            TaxCategoryQueryBuilderDsl::of);
055    }
056
057    public StringComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> name() {
058        return new StringComparisonPredicateBuilder<>(
059            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("name")),
060            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
061    }
062
063    public StringComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> description() {
064        return new StringComparisonPredicateBuilder<>(
065            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("description")),
066            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
067    }
068
069    public CombinationQueryPredicate<TaxCategoryQueryBuilderDsl> rates(
070            Function<com.commercetools.api.predicates.query.tax_category.TaxRateQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.tax_category.TaxRateQueryBuilderDsl>> fn) {
071        return new CombinationQueryPredicate<>(
072            ContainerQueryPredicate.of()
073                    .parent(ConstantQueryPredicate.of().constant("rates"))
074                    .inner(fn.apply(com.commercetools.api.predicates.query.tax_category.TaxRateQueryBuilderDsl.of())),
075            TaxCategoryQueryBuilderDsl::of);
076    }
077
078    public CollectionPredicateBuilder<TaxCategoryQueryBuilderDsl> rates() {
079        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("rates")),
080            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
081    }
082
083    public StringComparisonPredicateBuilder<TaxCategoryQueryBuilderDsl> key() {
084        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
085            p -> new CombinationQueryPredicate<>(p, TaxCategoryQueryBuilderDsl::of));
086    }
087
088}