001
002package com.commercetools.api.predicates.query.message;
003
004import java.util.function.Function;
005
006import com.commercetools.api.predicates.query.*;
007
008public class CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl {
009    public CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl() {
010    }
011
012    public static CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl of() {
013        return new CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl();
014    }
015
016    public StringComparisonPredicateBuilder<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> type() {
017        return new StringComparisonPredicateBuilder<>(
018            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("type")),
019            p -> new CombinationQueryPredicate<>(p, CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of));
020    }
021
022    public StringComparisonPredicateBuilder<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> customLineItemId() {
023        return new StringComparisonPredicateBuilder<>(
024            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("customLineItemId")),
025            p -> new CombinationQueryPredicate<>(p, CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of));
026    }
027
028    public DateTimeComparisonPredicateBuilder<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> transitionDate() {
029        return new DateTimeComparisonPredicateBuilder<>(
030            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("transitionDate")),
031            p -> new CombinationQueryPredicate<>(p, CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of));
032    }
033
034    public LongComparisonPredicateBuilder<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> quantity() {
035        return new LongComparisonPredicateBuilder<>(
036            BinaryQueryPredicate.of().left(new ConstantQueryPredicate("quantity")),
037            p -> new CombinationQueryPredicate<>(p, CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of));
038    }
039
040    public CombinationQueryPredicate<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> fromState(
041            Function<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl>> fn) {
042        return new CombinationQueryPredicate<>(
043            ContainerQueryPredicate.of()
044                    .parent(ConstantQueryPredicate.of().constant("fromState"))
045                    .inner(fn.apply(com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl.of())),
046            CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of);
047    }
048
049    public CombinationQueryPredicate<CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl> toState(
050            Function<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl, CombinationQueryPredicate<com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl>> fn) {
051        return new CombinationQueryPredicate<>(
052            ContainerQueryPredicate.of()
053                    .parent(ConstantQueryPredicate.of().constant("toState"))
054                    .inner(fn.apply(com.commercetools.api.predicates.query.state.StateReferenceQueryBuilderDsl.of())),
055            CustomLineItemStateTransitionMessagePayloadQueryBuilderDsl::of);
056    }
057
058}