Package io.gorules.zen
Class ZenEngineWrapper
java.lang.Object
io.gorules.zen.ZenEngineWrapper
- All Implemented Interfaces:
AutoCloseable
Simple Java wrapper for ZEN Engine with easy-to-use API.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()io.gorules.zen_engine.ZenDecisioncreateDecision(com.fasterxml.jackson.databind.JsonNode content) Create a decision from JSON content.io.gorules.zen_engine.ZenDecisioncreateDecision(String jsonContent) Create a decision from JSON string.CompletableFuture<com.fasterxml.jackson.databind.JsonNode> Evaluate a decision with the given key and input context.CompletableFuture<com.fasterxml.jackson.databind.JsonNode> evaluate(String key, com.fasterxml.jackson.databind.JsonNode input, io.gorules.zen_engine.ZenEvaluateOptions options) Evaluate a decision with custom options.CompletableFuture<io.gorules.zen_engine.ZenEngineResponse> evaluateWithTrace(String key, com.fasterxml.jackson.databind.JsonNode input, io.gorules.zen_engine.ZenEvaluateOptions options) Evaluate with full response including trace and performance data.CompletableFuture<io.gorules.zen_engine.ZenDecision> getDecision(String key) Get a decision by key (for reuse/caching).
-
Constructor Details
-
ZenEngineWrapper
Create wrapper with configuration.- Parameters:
config- ZEN engine configuration
-
-
Method Details
-
evaluate
public CompletableFuture<com.fasterxml.jackson.databind.JsonNode> evaluate(String key, com.fasterxml.jackson.databind.JsonNode input) Evaluate a decision with the given key and input context.- Parameters:
key- Decision key/filename (e.g., "pricing.json")input- Input context as JsonNode- Returns:
- CompletableFuture with evaluation result
-
evaluate
public CompletableFuture<com.fasterxml.jackson.databind.JsonNode> evaluate(String key, com.fasterxml.jackson.databind.JsonNode input, io.gorules.zen_engine.ZenEvaluateOptions options) Evaluate a decision with custom options.- Parameters:
key- Decision key/filenameinput- Input context as JsonNodeoptions- Evaluation options (null for defaults)- Returns:
- CompletableFuture with evaluation result
-
evaluateWithTrace
public CompletableFuture<io.gorules.zen_engine.ZenEngineResponse> evaluateWithTrace(String key, com.fasterxml.jackson.databind.JsonNode input, io.gorules.zen_engine.ZenEvaluateOptions options) Evaluate with full response including trace and performance data.- Parameters:
key- Decision keyinput- Input contextoptions- Evaluation options- Returns:
- CompletableFuture with full response
-
getDecision
Get a decision by key (for reuse/caching).- Parameters:
key- Decision key- Returns:
- CompletableFuture with decision instance
-
createDecision
public io.gorules.zen_engine.ZenDecision createDecision(com.fasterxml.jackson.databind.JsonNode content) throws io.gorules.zen_engine.ZenException Create a decision from JSON content.- Parameters:
content- Decision content as JsonNode- Returns:
- Decision instance
- Throws:
io.gorules.zen_engine.ZenException- if creation fails
-
createDecision
public io.gorules.zen_engine.ZenDecision createDecision(String jsonContent) throws io.gorules.zen_engine.ZenException Create a decision from JSON string.- Parameters:
jsonContent- Decision content as JSON string- Returns:
- Decision instance
- Throws:
io.gorules.zen_engine.ZenException- if creation fails
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-