Interface RuleEngineTestSupportService

All Known Implementing Classes:
DefaultRuleEngineTestSupportService

public interface RuleEngineTestSupportService
Rule engine test supporting interface
  • Method Details

    • createRuleModel

      AbstractRuleEngineRuleModel createRuleModel()
      factory method declaration to create new instance of AbstractRuleEngineRuleModel
      Returns:
      instance of AbstractRuleEngineRuleModel subclass
    • associateRulesToNewModule

      AbstractRulesModuleModel associateRulesToNewModule(String moduleName, Set<? extends AbstractRuleEngineRuleModel> rules)
      create the rule module and associate the rules to it
      Parameters:
      moduleName - - name of the module (or the related knowledge base)
      rules - - set of rules to associate the module with
      Returns:
      instance of AbstractRulesModuleModel subclass
    • associateRulesModule

      void associateRulesModule(AbstractRulesModuleModel module, Set<? extends AbstractRuleEngineRuleModel> rules)
      associate the rules to a module
      Parameters:
      module - - rule module
      rules - - set of rules to associate the module with
    • getTestRulesModule

      Creates the concrete subclass of AbstractRulesModuleModel, based on rule engine implementation
      Parameters:
      abstractContext - instance of AbstractRuleEngineContextModel
      ruleModels - - a set of AbstractRuleEngineRuleModel instances
      Returns:
      instance of AbstractRulesModuleModel subclass (based on rule engine implementation)
    • resolveAssociatedRuleModule

      Optional<AbstractRulesModuleModel> resolveAssociatedRuleModule(AbstractRuleEngineRuleModel ruleModel)
      Returns a module, associated to a rule
      Parameters:
      ruleModel - an instance of the AbstractRuleEngineRuleModel subclass
      Returns:
      Optional instance of AbstractRulesModuleModel
    • decorateRuleForTest

      Consumer<AbstractRuleEngineRuleModel> decorateRuleForTest(Map<String,String> params)
      Returns a Customer, adding additional functionality to AbstractRuleEngineRuleModel, based on parameters map
      Parameters:
      params - Map of strings to strings, parametrizing additional functionality (e.g. global values in case of Drools implementation)
      Returns:
      an instance of Customer for AbstractRuleEngineRuleModel
    • getTestModuleName

      String getTestModuleName(AbstractRuleEngineRuleModel ruleModel)
      Returns the name of the module, associated to the rule
      Parameters:
      ruleModel - an instance of AbstractRuleEngineRuleModel or it's subclass
      Returns:
      name of the associated module, if applicable. Null otherwise