001 002package com.commercetools.api.predicates.query.common; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class AssetQueryBuilderDsl { 009 public AssetQueryBuilderDsl() { 010 } 011 012 public static AssetQueryBuilderDsl of() { 013 return new AssetQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<AssetQueryBuilderDsl> id() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")), 018 p -> new CombinationQueryPredicate<>(p, AssetQueryBuilderDsl::of)); 019 } 020 021 public CombinationQueryPredicate<AssetQueryBuilderDsl> sources( 022 Function<com.commercetools.api.predicates.query.common.AssetSourceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.AssetSourceQueryBuilderDsl>> fn) { 023 return new CombinationQueryPredicate<>( 024 ContainerQueryPredicate.of() 025 .parent(ConstantQueryPredicate.of().constant("sources")) 026 .inner(fn.apply(com.commercetools.api.predicates.query.common.AssetSourceQueryBuilderDsl.of())), 027 AssetQueryBuilderDsl::of); 028 } 029 030 public CollectionPredicateBuilder<AssetQueryBuilderDsl> sources() { 031 return new CollectionPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("sources")), 032 p -> new CombinationQueryPredicate<>(p, AssetQueryBuilderDsl::of)); 033 } 034 035 public CombinationQueryPredicate<AssetQueryBuilderDsl> name( 036 Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) { 037 return new CombinationQueryPredicate<>( 038 ContainerQueryPredicate.of() 039 .parent(ConstantQueryPredicate.of().constant("name")) 040 .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())), 041 AssetQueryBuilderDsl::of); 042 } 043 044 public CombinationQueryPredicate<AssetQueryBuilderDsl> description( 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("description")) 049 .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())), 050 AssetQueryBuilderDsl::of); 051 } 052 053 public StringCollectionPredicateBuilder<AssetQueryBuilderDsl> tags() { 054 return new StringCollectionPredicateBuilder<>( 055 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("tags")), 056 p -> new CombinationQueryPredicate<>(p, AssetQueryBuilderDsl::of)); 057 } 058 059 public CombinationQueryPredicate<AssetQueryBuilderDsl> custom( 060 Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) { 061 return new CombinationQueryPredicate<>( 062 ContainerQueryPredicate.of() 063 .parent(ConstantQueryPredicate.of().constant("custom")) 064 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())), 065 AssetQueryBuilderDsl::of); 066 } 067 068 public StringComparisonPredicateBuilder<AssetQueryBuilderDsl> key() { 069 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")), 070 p -> new CombinationQueryPredicate<>(p, AssetQueryBuilderDsl::of)); 071 } 072 073}