state.groovy.drl

来自「rule engine drools-2.0-beta-18」· DRL 代码 · 共 78 行

DRL
78
字号
<?xml version="1.0"?><rule-set name="State Example"          xmlns="http://drools.org/rules"          xmlns:groovy="http://drools.org/semantics/groovy"          xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          xs:schemaLocation="http://drools.org/rules rules.xsd                             http://drools.org/semantics/groovy groovy.xsd">    <groovy:import>org.drools.examples.state.State</groovy:import>    <rule name="Bootstrap">        <parameter identifier="a">            <class-field field="name" value="A">State</class-field>        </parameter>        <groovy:condition>a.state == "NOTRUN"</groovy:condition>        <groovy:consequence>            println "${a.name} finished"            a.state = "FINISHED"        </groovy:consequence>    </rule>    <rule name="AtoB">        <parameter identifier="a">            <class-field field="name" value="A">State</class-field>       </parameter>        <parameter identifier="b">            <class-field field="name" value="B">State</class-field>        </parameter>        <groovy:condition>a.state == "FINISHED"</groovy:condition>        <groovy:condition>b.state == "NOTRUN"</groovy:condition>        <groovy:consequence>            println "${b.name} finished"            b.state = "FINISHED"        </groovy:consequence>    </rule>    <rule name="BtoC">        <parameter identifier="b">            <class-field field="name" value="B">State</class-field>        </parameter>        <parameter identifier="c">            <class-field field="name" value="C">State</class-field>        </parameter>        <groovy:condition>b.state == "FINISHED"</groovy:condition>        <groovy:condition>c.state == "NOTRUN"</groovy:condition>        <groovy:consequence>            println "${c.name} finished"            c.state = "FINISHED"        </groovy:consequence>    </rule>    <rule name="BtoD">        <parameter identifier="b">            <class-field field="name" value="B">State</class-field>        </parameter>        <parameter identifier="d">            <class-field field="name" value="D">State</class-field>        </parameter>        <groovy:condition>b.state == "FINISHED"</groovy:condition>        <groovy:condition>d.state == "NOTRUN"</groovy:condition>        <groovy:consequence>            println "${d.name} finished"            d.state = "FINISHED"        </groovy:consequence>    </rule>  </rule-set>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?