001 002package com.commercetools.api.predicates.query.order; 003 004import java.util.function.Function; 005 006import com.commercetools.api.predicates.query.*; 007 008public class ReturnItemQueryBuilderDsl { 009 public ReturnItemQueryBuilderDsl() { 010 } 011 012 public static ReturnItemQueryBuilderDsl of() { 013 return new ReturnItemQueryBuilderDsl(); 014 } 015 016 public StringComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> id() { 017 return new StringComparisonPredicateBuilder<>(BinaryQueryPredicate.of().left(new ConstantQueryPredicate("id")), 018 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 019 } 020 021 public LongComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> quantity() { 022 return new LongComparisonPredicateBuilder<>( 023 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("quantity")), 024 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 025 } 026 027 public StringComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> type() { 028 return new StringComparisonPredicateBuilder<>( 029 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("type")), 030 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 031 } 032 033 public StringComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> comment() { 034 return new StringComparisonPredicateBuilder<>( 035 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("comment")), 036 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 037 } 038 039 public StringComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> shipmentState() { 040 return new StringComparisonPredicateBuilder<>( 041 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("shipmentState")), 042 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 043 } 044 045 public StringComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> paymentState() { 046 return new StringComparisonPredicateBuilder<>( 047 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("paymentState")), 048 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 049 } 050 051 public CombinationQueryPredicate<ReturnItemQueryBuilderDsl> custom( 052 Function<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl>> fn) { 053 return new CombinationQueryPredicate<>( 054 ContainerQueryPredicate.of() 055 .parent(ConstantQueryPredicate.of().constant("custom")) 056 .inner(fn.apply(com.commercetools.api.predicates.query.type.CustomFieldsQueryBuilderDsl.of())), 057 ReturnItemQueryBuilderDsl::of); 058 } 059 060 public DateTimeComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> lastModifiedAt() { 061 return new DateTimeComparisonPredicateBuilder<>( 062 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("lastModifiedAt")), 063 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 064 } 065 066 public DateTimeComparisonPredicateBuilder<ReturnItemQueryBuilderDsl> createdAt() { 067 return new DateTimeComparisonPredicateBuilder<>( 068 BinaryQueryPredicate.of().left(new ConstantQueryPredicate("createdAt")), 069 p -> new CombinationQueryPredicate<>(p, ReturnItemQueryBuilderDsl::of)); 070 } 071 072 public CombinationQueryPredicate<ReturnItemQueryBuilderDsl> asCustomLineItemReturnItem( 073 Function<com.commercetools.api.predicates.query.order.CustomLineItemReturnItemQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.CustomLineItemReturnItemQueryBuilderDsl>> fn) { 074 return new CombinationQueryPredicate<>( 075 fn.apply(com.commercetools.api.predicates.query.order.CustomLineItemReturnItemQueryBuilderDsl.of()), 076 ReturnItemQueryBuilderDsl::of); 077 } 078 079 public CombinationQueryPredicate<ReturnItemQueryBuilderDsl> asLineItemReturnItem( 080 Function<com.commercetools.api.predicates.query.order.LineItemReturnItemQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.order.LineItemReturnItemQueryBuilderDsl>> fn) { 081 return new CombinationQueryPredicate<>( 082 fn.apply(com.commercetools.api.predicates.query.order.LineItemReturnItemQueryBuilderDsl.of()), 083 ReturnItemQueryBuilderDsl::of); 084 } 085}