1<?php 2 3/* Copyright (c) 2018 Nils Haagen <nils.haagen@concepts-and-training.de> Extended GPL, see docs/LICENSE */ 4 5namespace ILIAS\UI\Component\Listing\Workflow; 6 7/** 8 * This describes a Workflow. 9 */ 10interface Workflow extends \ILIAS\UI\Component\Component 11{ 12 13 /** 14 * Get the title of this workflow. 15 * 16 * @return string 17 */ 18 public function getTitle(); 19 20 /** 21 * The step at this position is set to active. 22 * 23 * @param int $active 24 * @throws InvalidArgumentException if $active exceeds the amount of steps 25 * @return Workflow 26 */ 27 public function withActive($active); 28 29 /** 30 * This is the index of the active step. 31 * 32 * @return int 33 */ 34 public function getActive(); 35 36 /** 37 * Get the steps of this workflow. 38 * 39 * @return Step[] 40 */ 41 public function getSteps(); 42} 43