001 002package com.commercetools.api.predicates.query.review; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ReviewQueryBuilderDsl { 009 public ReviewQueryBuilderDsl() { 010 } 011 012 public static ReviewQueryBuilderDsl of() { 013 return new ReviewQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> id() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")), 018 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 019 } 020 021 public LongComparisonPredicateBuilder<ReviewQueryBuilderDsl> version() { 022 return new LongComparisonPredicateBuilder<>( 023 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")), 024 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 025 } 026 027 public DateTimeComparisonPredicateBuilder<ReviewQueryBuilderDsl> createdAt() { 028 return new DateTimeComparisonPredicateBuilder<>( 029 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")), 030 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 031 } 032 033 public DateTimeComparisonPredicateBuilder<ReviewQueryBuilderDsl> lastModifiedAt() { 034 return new DateTimeComparisonPredicateBuilder<>( 035 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")), 036 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 037 } 038 039 public CombinationQueryPredicate<ReviewQueryBuilderDsl> 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 ReviewQueryBuilderDsl::of); 046 } 047 048 public CombinationQueryPredicate<ReviewQueryBuilderDsl> 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 ReviewQueryBuilderDsl::of); 055 } 056 057 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> key() { 058 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("key")), 059 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 060 } 061 062 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> uniquenessValue() { 063 return new StringComparisonPredicateBuilder<>( 064 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("uniquenessValue")), 065 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 066 } 067 068 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> locale() { 069 return new StringComparisonPredicateBuilder<>( 070 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("locale")), 071 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 072 } 073 074 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> authorName() { 075 return new StringComparisonPredicateBuilder<>( 076 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("authorName")), 077 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 078 } 079 080 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> title() { 081 return new StringComparisonPredicateBuilder<>( 082 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("title")), 083 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 084 } 085 086 public StringComparisonPredicateBuilder<ReviewQueryBuilderDsl> text() { 087 return new StringComparisonPredicateBuilder<>( 088 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("text")), 089 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 090 } 091 092 public CombinationQueryPredicate<ReviewQueryBuilderDsl> target( 093 Function<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl>> fn) { 094 return new CombinationQueryPredicate<>( 095 ContainerQueryPredicate.of() 096 .parent(ConstantQueryPredicate.of().constant("target")) 097 .inner(fn.apply(com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl.of())), 098 ReviewQueryBuilderDsl::of); 099 } 100 101 public BooleanComparisonPredicateBuilder<ReviewQueryBuilderDsl> includedInStatistics() { 102 return new BooleanComparisonPredicateBuilder<>( 103 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("includedInStatistics")), 104 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 105 } 106 107 public LongComparisonPredicateBuilder<ReviewQueryBuilderDsl> rating() { 108 return new LongComparisonPredicateBuilder<>( 109 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("rating")), 110 p -> new CombinationQueryPredicate<>(p, ReviewQueryBuilderDsl::of)); 111 } 112 113 public CombinationQueryPredicate<ReviewQueryBuilderDsl> state( 114 Function<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl>> fn) { 115 return new CombinationQueryPredicate<>( 116 ContainerQueryPredicate.of() 117 .parent(ConstantQueryPredicate.of().constant("state")) 118 .inner(fn.apply(com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl.of())), 119 ReviewQueryBuilderDsl::of); 120 } 121 122 public CombinationQueryPredicate<ReviewQueryBuilderDsl> customer( 123 Function<com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl>> fn) { 124 return new CombinationQueryPredicate<>( 125 ContainerQueryPredicate.of() 126 .parent(ConstantQueryPredicate.of().constant("customer")) 127 .inner(fn.apply( 128 com.commercetools.api.predicates.query.customer.CustomerReferenceQueryBuilderDsl.of())), 129 ReviewQueryBuilderDsl::of); 130 } 131 132 public CombinationQueryPredicate<ReviewQueryBuilderDsl> custom( 133 Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) { 134 return new CombinationQueryPredicate<>( 135 ContainerQueryPredicate.of() 136 .parent(ConstantQueryPredicate.of().constant("custom")) 137 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())), 138 ReviewQueryBuilderDsl::of); 139 } 140 141}