Thanks for sharing, but I don't know if you can really call this "Rule Engine". Currently it only support simple predicates, but theoretically you can add transformations (like map operator), etc. to each rule. And call even "actions" or wharever (Runnable, Function, BiFunction,...).