001 002package com.commercetools.api.predicates.query.discount_code; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class DiscountCodeQueryBuilderDsl { 009 public DiscountCodeQueryBuilderDsl() { 010 } 011 012 public static DiscountCodeQueryBuilderDsl of() { 013 return new DiscountCodeQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> id() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")), 018 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 019 } 020 021 public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> version() { 022 return new LongComparisonPredicateBuilder<>( 023 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("version")), 024 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 025 } 026 027 public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> createdAt() { 028 return new DateTimeComparisonPredicateBuilder<>( 029 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")), 030 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 031 } 032 033 public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> lastModifiedAt() { 034 return new DateTimeComparisonPredicateBuilder<>( 035 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")), 036 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 037 } 038 039 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> 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 DiscountCodeQueryBuilderDsl::of); 046 } 047 048 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> 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 DiscountCodeQueryBuilderDsl::of); 055 } 056 057 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> name( 058 Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) { 059 return new CombinationQueryPredicate<>( 060 ContainerQueryPredicate.of() 061 .parent(ConstantQueryPredicate.of().constant("name")) 062 .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())), 063 DiscountCodeQueryBuilderDsl::of); 064 } 065 066 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> description( 067 Function<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl>> fn) { 068 return new CombinationQueryPredicate<>( 069 ContainerQueryPredicate.of() 070 .parent(ConstantQueryPredicate.of().constant("description")) 071 .inner(fn.apply(com.commercetools.api.predicates.query.common.LocalizedStringQueryBuilderDsl.of())), 072 DiscountCodeQueryBuilderDsl::of); 073 } 074 075 public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> code() { 076 return new StringComparisonPredicateBuilder<>( 077 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("code")), 078 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 079 } 080 081 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> cartDiscounts( 082 Function<com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl>> fn) { 083 return new CombinationQueryPredicate<>(ContainerQueryPredicate.of() 084 .parent(ConstantQueryPredicate.of().constant("cartDiscounts")) 085 .inner(fn.apply( 086 com.commercetools.api.predicates.query.cart_discount.CartDiscountReferenceQueryBuilderDsl.of())), 087 DiscountCodeQueryBuilderDsl::of); 088 } 089 090 public CollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> cartDiscounts() { 091 return new CollectionPredicateBuilder<>( 092 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("cartDiscounts")), 093 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 094 } 095 096 public StringComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> cartPredicate() { 097 return new StringComparisonPredicateBuilder<>( 098 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("cartPredicate")), 099 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 100 } 101 102 public BooleanComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> isActive() { 103 return new BooleanComparisonPredicateBuilder<>( 104 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("isActive")), 105 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 106 } 107 108 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> references( 109 Function<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl>> fn) { 110 return new CombinationQueryPredicate<>( 111 ContainerQueryPredicate.of() 112 .parent(ConstantQueryPredicate.of().constant("references")) 113 .inner(fn.apply(com.commercetools.api.predicates.query.common.ReferenceQueryBuilderDsl.of())), 114 DiscountCodeQueryBuilderDsl::of); 115 } 116 117 public CollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> references() { 118 return new CollectionPredicateBuilder<>( 119 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("references")), 120 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 121 } 122 123 public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> maxApplications() { 124 return new LongComparisonPredicateBuilder<>( 125 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("maxApplications")), 126 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 127 } 128 129 public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> maxApplicationsPerCustomer() { 130 return new LongComparisonPredicateBuilder<>( 131 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("maxApplicationsPerCustomer")), 132 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 133 } 134 135 public CombinationQueryPredicate<DiscountCodeQueryBuilderDsl> custom( 136 Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) { 137 return new CombinationQueryPredicate<>( 138 ContainerQueryPredicate.of() 139 .parent(ConstantQueryPredicate.of().constant("custom")) 140 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())), 141 DiscountCodeQueryBuilderDsl::of); 142 } 143 144 public StringCollectionPredicateBuilder<DiscountCodeQueryBuilderDsl> groups() { 145 return new StringCollectionPredicateBuilder<>( 146 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("groups")), 147 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 148 } 149 150 public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> validFrom() { 151 return new DateTimeComparisonPredicateBuilder<>( 152 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validFrom")), 153 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 154 } 155 156 public DateTimeComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> validUntil() { 157 return new DateTimeComparisonPredicateBuilder<>( 158 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("validUntil")), 159 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 160 } 161 162 public LongComparisonPredicateBuilder<DiscountCodeQueryBuilderDsl> applicationVersion() { 163 return new LongComparisonPredicateBuilder<>( 164 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("applicationVersion")), 165 p -> new CombinationQueryPredicate<>(p, DiscountCodeQueryBuilderDsl::of)); 166 } 167 168}