Interface ReviewUserGroupsSequentialSubSteps

All Superinterfaces:
IsParallelSubStep

public interface ReviewUserGroupsSequentialSubSteps extends IsParallelSubStep
A sequence of review sub-steps in a ReviewStepDefinition of a Creation Workflow. The sub-steps in the sequence are processed one by one: the next sub-step starts only when the previous one has completed its review.

You get an instance from api.newReviewSequentialSubSteps(...). Its sub-steps are objects that implement IsSequentialSubStep: single review sub-steps created by api.newReviewSubStep(), or parallel groups created by api.newReviewParallelSubSteps(...).

The sequence implements IsParallelSubStep, so you use it as one branch of a parallel setup: in ReviewByUserGroups.withParallelSubSteps(IsParallelSubStep...) or in a parallel group created by api.newReviewParallelSubSteps(...). It cannot be placed inside another sequence. For a sequence at the top level, pass the sub-steps directly to ReviewByUserGroups.withSequentialSubSteps(IsSequentialSubStep...) instead.

The following rules apply to the sub-steps of a sequence:

  • Every single sub-step must have a user group.
  • The first sub-step cannot be a waiting sub-step (see ReviewUserGroupSubStep.withWaitingForAllPreviousReviews()).
  • If the review step does not define line item filters, only the first sub-step defines them, and the later sub-steps use the same filters.
  • Nested parallel sub-steps are not allowed: a sequence used as a parallel branch must not contain a parallel group.

Example:


 api.newReviewByUserGroups()
     .withParallelSubSteps(
         api.newReviewSubStep()
             .withLineItemFilters([
                 "BusinessUnitPrinting"   : Filter.like("inputs.BusinessUnit.value", "Printing"),
                 "BusinessUnitResidential": Filter.like("inputs.BusinessUnit.value", "Residential and Small Business")
             ])
             .withUserGroup("supply_coordinator")
             .withLabel("Supply Coordinator"),
         api.newReviewSequentialSubSteps(
             api.newReviewSubStep()
                 .withLineItemFilters([
                     "EMEAGroup": Filter.like("inputs.region.value", "EMEA"),
                     "APACGroup": Filter.like("inputs.region.value", "APAC")
                 ])
                 .withUserGroup("pricing_advisor")
                 .withLabel("Pricing Advisor"),
             api.newReviewSubStep()   // uses the filters of the first sub-step
                 .withUserGroup("channel_analyst")
                 .withLabel("Channel Analyst")
         )
     )
 
Since:
14.0 - Caribou Lou
See Also: