Interface RuleService
- All Known Implementing Classes:
DefaultRuleService
public interface RuleService
The interface provides with method for fetching all rules available.
-
Method Summary
Modifier and TypeMethodDescriptioncloneRule(AbstractRuleModel source) Clones given rule.cloneRule(String newRuleCode, AbstractRuleModel source) Clones given rule with the specified code for new rule.<T extends AbstractRuleModel>
TcreateRuleFromTemplate(AbstractRuleTemplateModel ruleTemplate) Creates new rule from given rule template.<T extends AbstractRuleModel>
TcreateRuleFromTemplate(String newRuleCode, AbstractRuleTemplateModel ruleTemplate) Creates new rule from given rule template.<T extends AbstractRuleModel>
List<T>getActiveRulesForCatalogVersionAndRuleType(CatalogVersionModel catalogVersion, RuleType ruleType) Gets activeAbstractRuleModels by catalog version and rule type<T extends AbstractRuleModel>
List<T>Gets all activeAbstractRuleModels<T extends AbstractRuleModel>
List<T>getAllActiveRulesForType(Class ruleType) Gets all activeAbstractRuleModels by a specific type<T extends AbstractRuleModel>
List<T>Gets allAbstractRuleModels<T extends AbstractRuleModel>
List<T>getAllRulesForCode(String code) Gets all versions ofAbstractRuleModelby code.<T extends AbstractRuleModel>
List<T>getAllRulesForCodeAndStatus(String code, RuleStatus... ruleStatuses) Gets all versions ofAbstractRuleModelby code and status<T extends AbstractRuleModel>
List<T>getAllRulesForStatus(RuleStatus... ruleStatuses) Gets all versions ofAbstractRuleModelby status<T extends AbstractRuleModel>
List<T>getAllRulesForType(Class ruleType) Gets allAbstractRuleModels by a specific typegetEngineRuleTypeForRuleType(Class<?> type) Finds engine rule type for given rule type.getRuleForCode(String code) Gets the latest version ofAbstractRuleModelby code.Class<? extends AbstractRuleModel>getRuleTypeFromTemplate(Class<? extends AbstractRuleTemplateModel> templateType) Finds and returns rule type model class based on the template type
-
Method Details
-
getAllRules
Gets allAbstractRuleModels- Returns:
- List of
AbstractRuleModels
-
getAllRulesForType
Gets allAbstractRuleModels by a specific type- Parameters:
ruleType- Defines which type of rules should be included in the results- Returns:
- List of
AbstractRuleModels
-
getAllActiveRules
Gets all activeAbstractRuleModels- Returns:
- List of
AbstractRuleModels
-
getAllActiveRulesForType
Gets all activeAbstractRuleModels 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> List<T> getActiveRulesForCatalogVersionAndRuleType(CatalogVersionModel catalogVersion, RuleType ruleType) Gets activeAbstractRuleModels 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 resultsruleType- A rule type which is used to filter out results- Returns:
- List of
AbstractRuleModels or empty list if not found
-
getRuleForCode
Gets the latest version ofAbstractRuleModelby code.- Parameters:
code- Rule's code to find- Returns:
AbstractRuleModelor null if not found
-
getAllRulesForCode
Gets all versions ofAbstractRuleModelby code.- Parameters:
code- Rule's code to find- Returns:
- List of
AbstractRuleModels
-
getAllRulesForCodeAndStatus
<T extends AbstractRuleModel> List<T> getAllRulesForCodeAndStatus(String code, RuleStatus... ruleStatuses) Gets all versions ofAbstractRuleModelby code and status- Parameters:
code- Rule's code to findruleStatuses- Rules statuses that are allowed in the results- Returns:
- List of
AbstractRuleModels
-
getAllRulesForStatus
Gets all versions ofAbstractRuleModelby status- Parameters:
ruleStatuses- Rules statuses that are allowed in the results- Returns:
- List of
AbstractRuleModels
-
createRuleFromTemplate
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(String newRuleCode, AbstractRuleTemplateModel ruleTemplate) Creates new rule from given rule template.- Parameters:
newRuleCode- - new rule coderuleTemplate- - rule template to clone to new rule- Returns:
- the new rule, which is a copy of the given template.
-
cloneRule
Clones given rule.- Parameters:
source- - rule to clone- Returns:
- target - cloned rule
-
cloneRule
Clones given rule with the specified code for new rule.- Parameters:
newRuleCode- - new rule codesource- - rule to clone- Returns:
- target - cloned rule
-
getRuleTypeFromTemplate
Class<? extends AbstractRuleModel> getRuleTypeFromTemplate(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
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
-