001 002package com.commercetools.api.predicates.query.common; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class KeyReferenceQueryBuilderDsl { 009 public KeyReferenceQueryBuilderDsl() { 010 } 011 012 public static KeyReferenceQueryBuilderDsl of() { 013 return new KeyReferenceQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<KeyReferenceQueryBuilderDsl> typeId() { 017 return new StringComparisonPredicateBuilder<>( 018 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("typeId")), 019 p -> new CombinationQueryPredicate<>(p, KeyReferenceQueryBuilderDsl::of)); 020 } 021 022 public StringComparisonPredicateBuilder<KeyReferenceQueryBuilderDsl> key() { 023 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")), 024 p -> new CombinationQueryPredicate<>(p, KeyReferenceQueryBuilderDsl::of)); 025 } 026 027 public CombinationQueryPredicate<KeyReferenceQueryBuilderDsl> asAssociateRole( 028 Function<com.commercetools.api.predicates.query.associate_role.AssociateRoleKeyReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.associate_role.AssociateRoleKeyReferenceQueryBuilderDsl>> fn) { 029 return new CombinationQueryPredicate<>( 030 fn.apply( 031 com.commercetools.api.predicates.query.associate_role.AssociateRoleKeyReferenceQueryBuilderDsl.of()), 032 KeyReferenceQueryBuilderDsl::of); 033 } 034 035 public CombinationQueryPredicate<KeyReferenceQueryBuilderDsl> asBusinessUnit( 036 Function<com.commercetools.api.predicates.query.business_unit.BusinessUnitKeyReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.business_unit.BusinessUnitKeyReferenceQueryBuilderDsl>> fn) { 037 return new CombinationQueryPredicate<>( 038 fn.apply(com.commercetools.api.predicates.query.business_unit.BusinessUnitKeyReferenceQueryBuilderDsl.of()), 039 KeyReferenceQueryBuilderDsl::of); 040 } 041 042 public CombinationQueryPredicate<KeyReferenceQueryBuilderDsl> asStore( 043 Function<com.commercetools.api.predicates.query.store.StoreKeyReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.store.StoreKeyReferenceQueryBuilderDsl>> fn) { 044 return new CombinationQueryPredicate<>( 045 fn.apply(com.commercetools.api.predicates.query.store.StoreKeyReferenceQueryBuilderDsl.of()), 046 KeyReferenceQueryBuilderDsl::of); 047 } 048}