TinyRuleKit

RuleParams

`RuleParams` is the immutable parameter bag passed to condition and action resolvers during compilation.

Required Values

JAVA
String message = params.getString("message");
int amount = params.getInt("amount");
long timeout = params.getLong("timeout");
double multiplier = params.getDouble("multiplier");
boolean enabled = params.getBoolean("enabled");
List<?> rewards = params.getList("rewards");
Map<?, ?> metadata = params.getMap("metadata");

Defaults

JAVA
String message = params.getString("message", "Welcome");
int amount = params.getInt("amount", 1);
long timeout = params.getLong("timeout", 1000L);
double multiplier = params.getDouble("multiplier", 1.0D);
boolean enabled = params.getBoolean("enabled", true);
List<?> rewards = params.getList("rewards", List.of());
Map<?, ?> metadata = params.getMap("metadata", Map.of());

Enum Values

JAVA
enum RewardMode {
    ONCE,
    DAILY
}

RewardMode mode = params.getEnum("mode", RewardMode.class, RewardMode.ONCE);
JSON
{
  "type": "GIVE_COINS",
  "params": {
    "amount": 25,
    "mode": "DAILY"
  }
}