Class RuleEngineBuilder

java.lang.Object
cloud.opencode.base.rules.dsl.RuleEngineBuilder

public final class RuleEngineBuilder extends Object
Rule Engine Builder - Fluent DSL for Rule Engine Configuration 规则引擎构建器 - 规则引擎配置的流式DSL

Provides a fluent API for constructing and configuring rule engines.

提供用于构建和配置规则引擎的流式API。

Features | 主要功能:

  • Rule and group registration - 规则和组注册
  • Conflict resolver configuration - 冲突解决器配置
  • Listener configuration - 监听器配置

Usage Examples | 使用示例:

RuleEngine engine = new RuleEngineBuilder()
    .register(rule1, rule2)
    .setConflictResolver(OpenRules.priorityResolver())
    .addListener(new LoggingRuleListener())
    .build();

Security | 安全性:

  • Thread-safe: No (builder pattern, single-threaded use) - 线程安全: 否(构建器模式,单线程使用)
  • Null-safe: No (rules and listeners must not be null) - 空值安全: 否(规则和监听器不能为null)

Performance | 性能特性:

  • Time complexity: O(1) per rule addition - 每次规则添加 O(1)
  • Space complexity: O(n) where n = rules - O(n), n为规则数
Since:
JDK 25, opencode-base-rules V1.0.0
Author:
Leon Soo www.LeonSoo.com
See Also:
  • Constructor Details

    • RuleEngineBuilder

      public RuleEngineBuilder()
  • Method Details

    • register

      public RuleEngineBuilder register(Rule... rules)
      Registers one or more rules 注册一个或多个规则
      Parameters:
      rules - the rules | 规则
      Returns:
      this builder | 此构建器
    • register

      public RuleEngineBuilder register(RuleGroup group)
      Registers a rule group 注册规则组
      Parameters:
      group - the rule group | 规则组
      Returns:
      this builder | 此构建器
    • setConflictResolver

      public RuleEngineBuilder setConflictResolver(ConflictResolver resolver)
      Sets the conflict resolver 设置冲突解决器
      Parameters:
      resolver - the conflict resolver | 冲突解决器
      Returns:
      this builder | 此构建器
    • addListener

      public RuleEngineBuilder addListener(RuleListener listener)
      Adds a rule listener 添加规则监听器
      Parameters:
      listener - the listener | 监听器
      Returns:
      this builder | 此构建器
    • haltWhen

      public RuleEngineBuilder haltWhen(Predicate<RuleContext> haltCondition)
      Sets a halt condition that stops rule execution when satisfied 设置停止条件,当满足时停止规则执行
      Parameters:
      haltCondition - the halt condition predicate | 停止条件谓词
      Returns:
      this builder | 此构建器
    • build

      public RuleEngine build()
      Builds the rule engine 构建规则引擎
      Returns:
      the configured rule engine | 配置的规则引擎