Interface EngineRuleDao

  • All Superinterfaces:
    Dao
    All Known Implementing Classes:
    DefaultEngineRuleDao

    public interface EngineRuleDao
    extends Dao
    Data Access Object for Engine Rule Model.
    • Method Detail

      • getRuleByUuid

        <T extends AbstractRuleEngineRuleModel> T getRuleByUuid​(java.lang.String uuid)
        retrieve the instance of < T extends AbstractRuleEngineRuleModel > by UUID
        Parameters:
        uuid - the rule uuid
        Returns:
        AbstractRuleEngineRuleModel by its uuid. Finds AbstractRuleEngineRuleModel by its uuid.
      • getRulesByUuids

        <T extends AbstractRuleEngineRuleModel> java.util.Collection<T> getRulesByUuids​(java.util.Collection<java.lang.String> ruleUuids)
        Type Parameters:
        T - type of the expected engine rule instance
        Parameters:
        ruleUuids - a collection of UUIDs to get the rules for
        Returns:
        a Collection if rule models
      • findRulesByCode

        java.util.List<AbstractRuleEngineRuleModel> findRulesByCode​(java.lang.String code)
        Finds AbstractRuleEngineRuleModels by their common code.
        Parameters:
        code - the rule code
        Returns:
        list of AbstractRuleEngineRuleModel by its code.
      • getRuleByCode

        AbstractRuleEngineRuleModel getRuleByCode​(java.lang.String code,
                                                  java.lang.String moduleName)
        Finds AbstractRuleEngineRuleModel by its code and module.
        Parameters:
        code - the rule code
        moduleName - name of the module
        Returns:
        AbstractRuleEngineRuleModel by its code.
      • getRuleByCodeAndMaxVersion

        AbstractRuleEngineRuleModel getRuleByCodeAndMaxVersion​(java.lang.String code,
                                                               java.lang.String moduleName,
                                                               long version)
        Finds AbstractRuleEngineRuleModel by its code and maximum version.
        Parameters:
        code - the rule code
        moduleName - the name of the rules module
        version - the maximum version of the rule
        Returns:
        AbstractRuleEngineRuleModel by its code and maximum version.
      • getActiveRuleByCodeAndMaxVersion

        AbstractRuleEngineRuleModel getActiveRuleByCodeAndMaxVersion​(java.lang.String code,
                                                                     java.lang.String moduleName,
                                                                     long version)
        Finds active AbstractRuleEngineRuleModel by its code and maximum version.
        Parameters:
        code - the rule code
        moduleName - the rules module name
        version - the maximum version of the rule
        Returns:
        AbstractRuleEngineRuleModel with active=true by its code and maximum version.
      • getActiveRules

        java.util.List<AbstractRuleEngineRuleModel> getActiveRules​(java.lang.String moduleName)
        Finds all currently active AbstractRuleEngineRuleModel for a given rules module.
        Parameters:
        moduleName - the name of the rules module
        Returns:
        list of currently active AbstractRuleEngineRuleModel
      • getActiveRules

        java.util.List<AbstractRuleEngineRuleModel> getActiveRules​(AbstractRulesModuleModel rulesModule)
        Finds all currently active AbstractRuleEngineRuleModels for a given rule module.
        Parameters:
        rulesModule - the rule module
        Returns:
        list of currently active AbstractRuleEngineRuleModel
      • getRulesForVersion

        <T extends AbstractRuleEngineRuleModel> java.util.List<T> getRulesForVersion​(java.lang.String moduleName,
                                                                                     long version)
        Finds all rules for the rule module and a given version of knowledge base
        Parameters:
        moduleName - the rules module name
        version - the KieBase version
        Returns:
        list of rules, valid for a given KieBase version
      • getActiveRulesForVersion

        <T extends AbstractRuleEngineRuleModel> java.util.List<T> getActiveRulesForVersion​(java.lang.String moduleName,
                                                                                           long version)
        Finds currently active rules for the rule module and a given version of knowledge base
        Parameters:
        moduleName - the rules module name
        version - the KieBase version
        Returns:
        list of rules, valid for a given KieBase version
      • getCurrentRulesSnapshotVersion

        java.lang.Long getCurrentRulesSnapshotVersion​(AbstractRulesModuleModel rulesModule)
        Returns the current rules snapshot version number for a given module
        Parameters:
        rulesModule - the rule module
        Returns:
        maximum version number
      • getRuleVersion

        java.lang.Long getRuleVersion​(java.lang.String code,
                                      java.lang.String moduleName)
        Return the last version of a rule with a given code and given module
        Parameters:
        code - the Rule code
        moduleName - the rules module name
        Returns:
        last version number of a rule. Null if not found