- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.1k
hello world
        Mahmoud Ben Hassine edited this page Dec 18, 2017 
        ·
        8 revisions
      
    This tutorial is the hello world of easy rules. We will create a rule that is always triggered and that will print "hello world" to the console when executed. Here is the rule:
@Rule(name = "Hello World rule", description = "Always say hello world")
public class HelloWorldRule {
    @Condition
    public boolean when() {
        return true;
    }
    @Action
    public void then() throws Exception {
        System.out.println("hello world");
    }
}Now let's create a rules engine and fire this rule:
public class Launcher {
    public static void main(String[] args) {
        // create facts
        Facts facts = new Facts();
        // create rules
        Rules rules = new Rules();
        rules.register(new HelloWorldRule());
        // create a rules engine and fire rules on known facts
        RulesEngine rulesEngine = new DefaultRulesEngine();
        rulesEngine.fire(rules, facts);
    }
}To run this tutorial, you can follow these instructions:
$ git clone https://github.com/j-easy/easy-rules.git
$ cd easy-rules
$ mvn install
$ cd easy-rules-tutorials
$ mvn exec:java -P runHelloWorldTutorial
You should get the following output:
INFO: Engine parameters { skipOnFirstAppliedRule = false, skipOnFirstNonTriggeredRule = false, skipOnFirstFailedRule = false, priorityThreshold = 2147483647 }
INFO: Registered rules:
INFO: Rule { name = 'Hello World rule', description = 'Always say hello world', priority = '2147483646'}
INFO: Rules evaluation started
INFO: Rule 'Hello World rule' triggered
Hello world
INFO: Rule 'Hello World rule' performed successfully
Easy Rules is created by Mahmoud Ben Hassine with the help of some awesome contributors
- 
Introduction 
- 
User guide 
- 
Tutorials 
- 
Get involved