001
002package com.commercetools.api.predicates.query.associate_role;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class AssociateRoleQueryBuilderDsl {
009    public AssociateRoleQueryBuilderDsl() {
010    }
011
012    public static AssociateRoleQueryBuilderDsl of() {
013        return new AssociateRoleQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> id() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")),
018            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
019    }
020
021    public LongComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> version() {
022        return new LongComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")),
024            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
025    }
026
027    public DateTimeComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> createdAt() {
028        return new DateTimeComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")),
030            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
031    }
032
033    public DateTimeComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> lastModifiedAt() {
034        return new DateTimeComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")),
036            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<AssociateRoleQueryBuilderDsl> 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            AssociateRoleQueryBuilderDsl::of);
046    }
047
048    public CombinationQueryPredicate<AssociateRoleQueryBuilderDsl> 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            AssociateRoleQueryBuilderDsl::of);
055    }
056
057    public StringComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> key() {
058        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
059            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
060    }
061
062    public BooleanComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> buyerAssignable() {
063        return new BooleanComparisonPredicateBuilder<>(
064            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("buyerAssignable")),
065            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
066    }
067
068    public StringComparisonPredicateBuilder<AssociateRoleQueryBuilderDsl> name() {
069        return new StringComparisonPredicateBuilder<>(
070            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("name")),
071            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
072    }
073
074    public StringCollectionPredicateBuilder<AssociateRoleQueryBuilderDsl> permissions() {
075        return new StringCollectionPredicateBuilder<>(
076            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("permissions")),
077            p -> new CombinationQueryPredicate<>(p, AssociateRoleQueryBuilderDsl::of));
078    }
079
080    public CombinationQueryPredicate<AssociateRoleQueryBuilderDsl> custom(
081            Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) {
082        return new CombinationQueryPredicate<>(
083            ContainerQueryPredicate.of()
084                    .parent(ConstantQueryPredicate.of().constant("custom"))
085                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())),
086            AssociateRoleQueryBuilderDsl::of);
087    }
088
089}