Interface RuleService

  • All Known Implementing Classes:
    DefaultRuleService

    public interface RuleService
    The interface provides with method for fetching all rules available.
    • Method Detail

      • getAllRulesForType

        <T extends AbstractRuleModel> java.util.List<T> getAllRulesForType​(java.lang.Class ruleType)
        Gets all AbstractRuleModels by a specific type
        Parameters:
        ruleType - Defines which type of rules should be included in the results
        Returns:
        List of AbstractRuleModels
      • getAllActiveRulesForType

        <T extends AbstractRuleModel> java.util.List<T> getAllActiveRulesForType​(java.lang.Class ruleType)
        Gets all active AbstractRuleModels by a specific type
        Parameters:
        ruleType - Defines which type of rules should be included in the results
        Returns:
        List of AbstractRuleModels
      • getAllToBePublishedRules

        @Deprecated(since="1811",
                    forRemoval=true)
        <T extends AbstractRuleModel> java.util.List<T> getAllToBePublishedRules()
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 1811
        Gets all rules to be published AbstractRuleModels
        Returns:
        List of AbstractRuleModels
      • getAllToBePublishedRulesForType

        @Deprecated(since="1811",
                    forRemoval=true)
        <T extends AbstractRuleModel> java.util.List<T> getAllToBePublishedRulesForType​(java.lang.Class ruleType)
        Deprecated, for removal: This API element is subject to removal in a future version.
        since 1811
        Gets all rules to be published AbstractRuleModels by a specific type
        Parameters:
        ruleType - Defines which type of rules should be included in the results
        Returns:
        List of AbstractRuleModels
      • getActiveRulesForCatalogVersionAndRuleType

        <T extends AbstractRuleModel> java.util.List<T> getActiveRulesForCatalogVersionAndRuleType​(CatalogVersionModel catalogVersion,
                                                                                                   RuleType ruleType)
        Gets active AbstractRuleModels by catalog version and rule type
        Type Parameters:
        T - Specifies type which will get returned by method
        Parameters:
        catalogVersion - A catalog version which is used to filter out results
        ruleType - A rule type which is used to filter out results
        Returns:
        List of AbstractRuleModels or empty list if not found
      • getAllRulesForCodeAndStatus

        <T extends AbstractRuleModel> java.util.List<T> getAllRulesForCodeAndStatus​(java.lang.String code,
                                                                                    RuleStatus... ruleStatuses)
        Gets all versions of AbstractRuleModel by code and status
        Parameters:
        code - Rule's code to find
        ruleStatuses - Rules statuses that are allowed in the results
        Returns:
        List of AbstractRuleModels
      • createRuleFromTemplate

        <T extends AbstractRuleModel> T createRuleFromTemplate​(AbstractRuleTemplateModel ruleTemplate)
        Creates new rule from given rule template.
        Parameters:
        ruleTemplate - - rule template to clone to new rule
        Returns:
        the new rule, which is a copy of the given template.
      • createRuleFromTemplate

        <T extends AbstractRuleModel> T createRuleFromTemplate​(java.lang.String newRuleCode,
                                                               AbstractRuleTemplateModel ruleTemplate)
        Creates new rule from given rule template.
        Parameters:
        newRuleCode - - new rule code
        ruleTemplate - - rule template to clone to new rule
        Returns:
        the new rule, which is a copy of the given template.
      • cloneRule

        AbstractRuleModel cloneRule​(java.lang.String newRuleCode,
                                    AbstractRuleModel source)
        Clones given rule with the specified code for new rule.
        Parameters:
        newRuleCode - - new rule code
        source - - rule to clone
        Returns:
        target - cloned rule
      • getRuleTypeFromTemplate

        java.lang.Class<? extends AbstractRuleModel> getRuleTypeFromTemplate​(java.lang.Class<? extends AbstractRuleTemplateModel> templateType)
        Finds and returns rule type model class based on the template type
        Parameters:
        templateType - - template type
        Returns:
        rule type model
      • getEngineRuleTypeForRuleType

        RuleType getEngineRuleTypeForRuleType​(java.lang.Class<?> type)
        Finds engine rule type for given rule type. If no mapping is found it returns RuleType.DEFAULT.
        Parameters:
        type - - type of the rule.
        Returns:
        RuleType of the engine rule