Zero
Dependencies
2
Build Styles
39+
Built-in Validation Rules
Java 17+
Minimum Version
Define business rules in clean, readable Java — pick the style that fits your team.
// Build a Rule using lambdas
Rule rule = Rule.builder()
.given(condition((Boolean member, BigDecimal total)
-> member && total.compareTo(BigDecimal.valueOf(100)) > 0))
.then(action((Binding<BigDecimal> discount)
-> discount.setValue(BigDecimal.valueOf(0.10))))
.build();
// Run with auto-matched Bindings
rule.run(member -> true, total -> BigDecimal.valueOf(150));
@Rule
public class DiscountRule {
@Given
public boolean isEligible(Boolean member, BigDecimal total) {
return member && total.compareTo(BigDecimal.valueOf(100)) > 0;
}
@Then
public void applyDiscount(Binding<BigDecimal> discount) {
discount.setValue(BigDecimal.valueOf(0.10));
}
}