state.java.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:java="http://drools.org/semantics/java"          xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"          xs:schemaLocation="http://drools.org/rules rules.xsd                             http://drools.org/semantics/java java.xsd">    <java:import>org.drools.examples.state.State</java:import>    <rule name="Bootstrap">        <parameter identifier="a">            <class-field field="name" value="A">State</class-field>        </parameter>        <java:condition>a.getState().equals("NOTRUN")</java:condition>        <java:consequence>            System.out.println(a.getName() + " finished" );            a.setState("FINISHED");        </java: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>        <java:condition>a.getState().equals("FINISHED")</java:condition>        <java:condition>b.getState().equals("NOTRUN")</java:condition>        <java:consequence>            System.out.println(b.getName() + " finished" );            b.setState("FINISHED");        </java: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>        <java:condition>b.getState().equals("FINISHED")</java:condition>        <java:condition>c.getState().equals("NOTRUN")</java:condition>        <java:consequence>            System.out.println(c.getName() + " finished" );            c.setState("FINISHED");        </java: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>        <java:condition>b.getState().equals("FINISHED")</java:condition>        <java:condition>d.getState().equals("NOTRUN")</java:condition>        <java:consequence>            System.out.println(d.getName() + " finished" );            d.setState("FINISHED");        </java:consequence>    </rule>  </rule-set>

⌨️ 快捷键说明

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