001
002package com.commercetools.api.predicates.query.message;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class UserProvidedIdentifiersQueryBuilderDsl {
009    public UserProvidedIdentifiersQueryBuilderDsl() {
010    }
011
012    public static UserProvidedIdentifiersQueryBuilderDsl of() {
013        return new UserProvidedIdentifiersQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<UserProvidedIdentifiersQueryBuilderDsl> key() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
018            p -> new CombinationQueryPredicate<>(p, UserProvidedIdentifiersQueryBuilderDsl::of));
019    }
020
021    public StringComparisonPredicateBuilder<UserProvidedIdentifiersQueryBuilderDsl> externalId() {
022        return new StringComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("externalId")),
024            p -> new CombinationQueryPredicate<>(p, UserProvidedIdentifiersQueryBuilderDsl::of));
025    }
026
027    public StringComparisonPredicateBuilder<UserProvidedIdentifiersQueryBuilderDsl> orderNumber() {
028        return new StringComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("orderNumber")),
030            p -> new CombinationQueryPredicate<>(p, UserProvidedIdentifiersQueryBuilderDsl::of));
031    }
032
033    public StringComparisonPredicateBuilder<UserProvidedIdentifiersQueryBuilderDsl> customerNumber() {
034        return new StringComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customerNumber")),
036            p -> new CombinationQueryPredicate<>(p, UserProvidedIdentifiersQueryBuilderDsl::of));
037    }
038
039    public StringComparisonPredicateBuilder<UserProvidedIdentifiersQueryBuilderDsl> sku() {
040        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sku")),
041            p -> new CombinationQueryPredicate<>(p, UserProvidedIdentifiersQueryBuilderDsl::of));
042    }
043
044    public CombinationQueryPredicate<UserProvidedIdentifiersQueryBuilderDsl> slug(
045            Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) {
046        return new CombinationQueryPredicate<>(
047            ContainerQueryPredicate.of()
048                    .parent(ConstantQueryPredicate.of().constant("slug"))
049                    .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())),
050            UserProvidedIdentifiersQueryBuilderDsl::of);
051    }
052
053    public CombinationQueryPredicate<UserProvidedIdentifiersQueryBuilderDsl> containerAndKey(
054            Function<com.commercetools.api.predicates.query.message.ContainerAndKeyQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.message.ContainerAndKeyQueryBuilderDsl>> fn) {
055        return new CombinationQueryPredicate<>(ContainerQueryPredicate.of()
056                .parent(ConstantQueryPredicate.of().constant("containerAndKey"))
057                .inner(fn.apply(com.commercetools.api.predicates.query.message.ContainerAndKeyQueryBuilderDsl.of())),
058            UserProvidedIdentifiersQueryBuilderDsl::of);
059    }
060
061}