Class MemoryDecisionLoader

java.lang.Object
io.gorules.zen.loader.MemoryDecisionLoader
All Implemented Interfaces:
DecisionLoader

public class MemoryDecisionLoader extends Object implements DecisionLoader
In-memory decision loader. Decisions must be added programmatically via addDecision(String, String) or addDecision(String, byte[]).
  • Constructor Details

    • MemoryDecisionLoader

      public MemoryDecisionLoader()
      Create a new empty memory loader.
  • Method Details

    • load

      public CompletableFuture<io.gorules.zen_engine.JsonBuffer> load(String key)
      Description copied from interface: DecisionLoader
      Load a decision by its key.
      Specified by:
      load in interface DecisionLoader
      Parameters:
      key - Decision key/filename
      Returns:
      CompletableFuture with decision content as JsonBuffer
    • addDecision

      public void addDecision(String key, String content)
      Add a decision to memory.
      Parameters:
      key - Decision key
      content - Decision content as JSON string
    • addDecision

      public void addDecision(String key, byte[] content)
      Add a decision to memory.
      Parameters:
      key - Decision key
      content - Decision content as bytes
    • addDecision

      public void addDecision(String key, io.gorules.zen_engine.JsonBuffer buffer)
      Add a decision to memory.
      Parameters:
      key - Decision key
      buffer - Decision content as JsonBuffer
    • removeDecision

      public boolean removeDecision(String key)
      Remove a decision from memory.
      Parameters:
      key - Decision key
      Returns:
      true if removed, false if not found
    • clear

      public void clear()
      Clear all decisions from memory.
    • contains

      public boolean contains(String key)
      Check if a decision exists in memory.
      Parameters:
      key - Decision key
      Returns:
      true if exists