All Known Implementing Classes:
DefaultRuleDao

public interface RuleDao
  • Method Details

    • findAllRules

      <T extends AbstractRuleModel> List<T> findAllRules()
      Finds all rules with latest version
      Returns:
      List of AbstractRuleModels
    • findAllRulesByType

      <T extends AbstractRuleModel> List<T> findAllRulesByType(Class<T> type)
      Finds all rules by a specified type
      Parameters:
      type - - type of the rule. Must extend AbstractRuleModel
      Returns:
      list of all rules of specified type
    • findAllActiveRules

      <T extends AbstractRuleModel> List<T> findAllActiveRules()
      Finds all active AbstractRuleModels
      Returns:
      List of AbstractRuleModels
    • findAllActiveRulesByType

      <T extends AbstractRuleModel> List<T> findAllActiveRulesByType(Class<T> type)
      Finds all active rules by a specified type
      Parameters:
      type - - type of the rule. Must extend AbstractRuleModel
      Returns:
      list of all active rules of specified type
    • findRuleByCode

      <T extends AbstractRuleModel> T findRuleByCode(String code)
      Finds the latest version of AbstractRuleModel by code.
      Parameters:
      code - - code of the rule
      Returns:
      a rule, extending AbstractRuleModel or null if not found
    • findAllRuleVersionsByCode

      <T extends AbstractRuleModel> List<T> findAllRuleVersionsByCode(String code)
      Finds all versions of AbstractRuleModel by code.
      Parameters:
      code - - code of the rule
      Returns:
      list of rules, extending AbstractRuleModel
    • findRuleByCodeAndType

      <T extends AbstractRuleModel> T findRuleByCodeAndType(String code, Class<T> type)
      Finds AbstractRuleModel by code.
      Parameters:
      code - - code of the rule
      type - - type of the rule. Must extend AbstractRuleModel
      Returns:
      AbstractRuleModel
    • findEngineRuleTypeByRuleType

      RuleType findEngineRuleTypeByRuleType(Class<?> type)
      Finds engine rule type for given rule type.
      Parameters:
      type - - type of the rule.
      Returns:
      RuleType of the engine rule
    • getRuleVersion

      Long getRuleVersion(String code)
      Return the last version of a rule with a given code
      Parameters:
      code - the Rule code
      Returns:
      last version number of a rule. Null if not found
    • findRuleByCodeAndStatus

      Optional<AbstractRuleModel> findRuleByCodeAndStatus(String code, RuleStatus ruleStatus)
      Return a rule, having latest version with the status
      Parameters:
      code - the Rule code
      ruleStatus - the rule status
      Returns:
      an optional of the rule with latest version with the specified status
    • findAllRuleVersionsByCodeAndStatus

      <T extends AbstractRuleModel> List<T> findAllRuleVersionsByCodeAndStatus(String code, RuleStatus ruleStatus)
      Return all rule versions with a given code and status
      Parameters:
      code - the Rule code
      ruleStatus - the rule status
      Returns:
      list of rules extending AbstractRuleModel
    • findAllRuleVersionsByCodeAndStatuses

      <T extends AbstractRuleModel> List<T> findAllRuleVersionsByCodeAndStatuses(String code, RuleStatus... ruleStatuses)
      Return all rule versions with a given code and one of the statuses listed in ruleStatuses param. If no status is provided, the method fallback to findAllRuleVersionsByCode(String)
      Parameters:
      code - the Rule code
      ruleStatuses - the rule status array
      Returns:
      list of rules extending AbstractRuleModel
    • findAllRulesWithStatuses

      <T extends AbstractRuleModel> List<T> findAllRulesWithStatuses(RuleStatus... ruleStatuses)
      Return all rule versions with one of the statuses listed in ruleStatuses param
      Parameters:
      ruleStatuses - the rule status array
      Returns:
      list of rules extending AbstractRuleModel
    • findByVersionAndStatuses

      <T extends AbstractRuleModel> List<T> findByVersionAndStatuses(Long version, RuleStatus... ruleStatuses)
      Return all rules within statuses and version
      Parameters:
      version - the rule version
      ruleStatuses - the rule statuses
      Returns:
      list of rules extending AbstractRuleModel
    • findRuleByCodeAndVersion

      Optional<AbstractRuleModel> findRuleByCodeAndVersion(String code, Long version)
      Return a rule with a specified version
      Parameters:
      code - the Rule code
      version - the version number
      Returns:
      an optional of the rule with code and version