Class ZenEngineWrapper

java.lang.Object
io.gorules.zen.ZenEngineWrapper
All Implemented Interfaces:
AutoCloseable

public class ZenEngineWrapper extends Object implements AutoCloseable
Simple Java wrapper for ZEN Engine with easy-to-use API.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create wrapper with configuration.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    io.gorules.zen_engine.ZenDecision
    createDecision(com.fasterxml.jackson.databind.JsonNode content)
    Create a decision from JSON content.
    io.gorules.zen_engine.ZenDecision
    createDecision(String jsonContent)
    Create a decision from JSON string.
    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.
    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>
    Get a decision by key (for reuse/caching).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ZenEngineWrapper

      public ZenEngineWrapper(ZenEngineConfig config)
      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/filename
      input - Input context as JsonNode
      options - 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 key
      input - Input context
      options - Evaluation options
      Returns:
      CompletableFuture with full response
    • getDecision

      public CompletableFuture<io.gorules.zen_engine.ZenDecision> getDecision(String key)
      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:
      close in interface AutoCloseable