001
002package com.commercetools.api.predicates.query.me;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class MyBusinessUnitDraftQueryBuilderDsl {
009    public MyBusinessUnitDraftQueryBuilderDsl() {
010    }
011
012    public static MyBusinessUnitDraftQueryBuilderDsl of() {
013        return new MyBusinessUnitDraftQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> key() {
017        return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")),
018            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
019    }
020
021    public StringComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> unitType() {
022        return new StringComparisonPredicateBuilder<>(
023            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("unitType")),
024            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
025    }
026
027    public StringComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> name() {
028        return new StringComparisonPredicateBuilder<>(
029            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("name")),
030            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
031    }
032
033    public StringComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> contactEmail() {
034        return new StringComparisonPredicateBuilder<>(
035            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("contactEmail")),
036            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
037    }
038
039    public CombinationQueryPredicate<MyBusinessUnitDraftQueryBuilderDsl> custom(
040            Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) {
041        return new CombinationQueryPredicate<>(
042            ContainerQueryPredicate.of()
043                    .parent(ConstantQueryPredicate.of().constant("custom"))
044                    .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())),
045            MyBusinessUnitDraftQueryBuilderDsl::of);
046    }
047
048    public CombinationQueryPredicate<MyBusinessUnitDraftQueryBuilderDsl> addresses(
049            Function<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl>> fn) {
050        return new CombinationQueryPredicate<>(
051            ContainerQueryPredicate.of()
052                    .parent(ConstantQueryPredicate.of().constant("addresses"))
053                    .inner(fn.apply(com.commercetools.api.predicates.query.common.BaseAddressQueryBuilderDsl.of())),
054            MyBusinessUnitDraftQueryBuilderDsl::of);
055    }
056
057    public CollectionPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> addresses() {
058        return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("addresses")),
059            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
060    }
061
062    public StringCollectionPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> shippingAddresses() {
063        return new StringCollectionPredicateBuilder<>(
064            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("shippingAddresses")),
065            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
066    }
067
068    public LongComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> defaultShippingAddress() {
069        return new LongComparisonPredicateBuilder<>(
070            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("defaultShippingAddress")),
071            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
072    }
073
074    public StringCollectionPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> billingAddresses() {
075        return new StringCollectionPredicateBuilder<>(
076            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("billingAddresses")),
077            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
078    }
079
080    public LongComparisonPredicateBuilder<MyBusinessUnitDraftQueryBuilderDsl> defaultBillingAddress() {
081        return new LongComparisonPredicateBuilder<>(
082            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("defaultBillingAddress")),
083            p -> new CombinationQueryPredicate<>(p, MyBusinessUnitDraftQueryBuilderDsl::of));
084    }
085
086    public CombinationQueryPredicate<MyBusinessUnitDraftQueryBuilderDsl> asCompany(
087            Function<com.commercetools.api.predicates.query.me.MyCompanyDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.me.MyCompanyDraftQueryBuilderDsl>> fn) {
088        return new CombinationQueryPredicate<>(
089            fn.apply(com.commercetools.api.predicates.query.me.MyCompanyDraftQueryBuilderDsl.of()),
090            MyBusinessUnitDraftQueryBuilderDsl::of);
091    }
092
093    public CombinationQueryPredicate<MyBusinessUnitDraftQueryBuilderDsl> asDivision(
094            Function<com.commercetools.api.predicates.query.me.MyDivisionDraftQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.me.MyDivisionDraftQueryBuilderDsl>> fn) {
095        return new CombinationQueryPredicate<>(
096            fn.apply(com.commercetools.api.predicates.query.me.MyDivisionDraftQueryBuilderDsl.of()),
097            MyBusinessUnitDraftQueryBuilderDsl::of);
098    }
099}