第二支程式只舉AllowOwnerOnlyCondition為例,事實上OSWorkflow 2.7版提供了以下四種限制條件。
- OSUserGroupCondition:限制由隸屬某指定Group的人執行。
- StatusCondition:限制step的status為某個值時才能執行。
- AllowOwnerOnlyCondition:只允許Owner執行。
- DenyOwnerCondition:只有Owner不能執行。
當同時要加上兩個限制條件時,可以如下寫。
<restrict-to>
<conditions type="AND">
<condition type="class">
<arg name="class.name">
com.opensymphony.workflow.util.StatusCondition
</arg>
<arg name="status">Queued</arg>
</condition>
<condition type="class">
<arg name="class.name">
com.opensymphony.workflow.util.OSUserGroupCondition
</arg>
<arg name="group">A0001</arg>
</condition>
</conditions>
</restrict-to>