Interface RuleService
-
- All Known Implementing Classes:
DefaultRuleService
public interface RuleServiceThe interface provides with method for fetching all rules available.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description AbstractRuleModelcloneRule(AbstractRuleModel source)Clones given rule.AbstractRuleModelcloneRule(java.lang.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(java.lang.String newRuleCode, AbstractRuleTemplateModel ruleTemplate)Creates new rule from given rule template.<T extends AbstractRuleModel>
java.util.List<T>getActiveRulesForCatalogVersionAndRuleType(CatalogVersionModel catalogVersion, RuleType ruleType)Gets activeAbstractRuleModels by catalog version and rule type<T extends AbstractRuleModel>
java.util.List<T>getAllActiveRules()Gets all activeAbstractRuleModels<T extends AbstractRuleModel>
java.util.List<T>getAllActiveRulesForType(java.lang.Class ruleType)Gets all activeAbstractRuleModels by a specific type<T extends AbstractRuleModel>
java.util.List<T>getAllRules()Gets allAbstractRuleModels<T extends AbstractRuleModel>
java.util.List<T>getAllRulesForCode(java.lang.String code)Gets all versions ofAbstractRuleModelby code.<T extends AbstractRuleModel>
java.util.List<T>getAllRulesForCodeAndStatus(java.lang.String code, RuleStatus... ruleStatuses)Gets all versions ofAbstractRuleModelby code and status<T extends AbstractRuleModel>
java.util.List<T>getAllRulesForStatus(RuleStatus... ruleStatuses)Gets all versions ofAbstractRuleModelby status<T extends AbstractRuleModel>
java.util.List<T>getAllRulesForType(java.lang.Class ruleType)Gets allAbstractRuleModels by a specific typeRuleTypegetEngineRuleTypeForRuleType(java.lang.Class<?> type)Finds engine rule type for given rule type.AbstractRuleModelgetRuleForCode(java.lang.String code)Gets the latest version ofAbstractRuleModelby code.java.lang.Class<? extends AbstractRuleModel>getRuleTypeFromTemplate(java.lang.Class<? extends AbstractRuleTemplateModel> templateType)Finds and returns rule type model class based on the template type
-
-
-
Method Detail
-
getAllRules
<T extends AbstractRuleModel> java.util.List<T> getAllRules()
Gets allAbstractRuleModels- Returns:
- List of
AbstractRuleModels
-
getAllRulesForType
<T extends AbstractRuleModel> java.util.List<T> getAllRulesForType(java.lang.Class ruleType)
Gets allAbstractRuleModels by a specific type- Parameters:
ruleType- Defines which type of rules should be included in the results- Returns:
- List of
AbstractRuleModels
-
getAllActiveRules
<T extends AbstractRuleModel> java.util.List<T> getAllActiveRules()
Gets all activeAbstractRuleModels- Returns:
- List of
AbstractRuleModels
-
getAllActiveRulesForType
<T extends AbstractRuleModel> java.util.List<T> getAllActiveRulesForType(java.lang.Class ruleType)
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> java.util.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
AbstractRuleModel getRuleForCode(java.lang.String code)
Gets the latest version ofAbstractRuleModelby code.- Parameters:
code- Rule's code to find- Returns:
AbstractRuleModelor null if not found
-
getAllRulesForCode
<T extends AbstractRuleModel> java.util.List<T> getAllRulesForCode(java.lang.String code)
Gets all versions ofAbstractRuleModelby code.- Parameters:
code- Rule's code to find- Returns:
- List of
AbstractRuleModels
-
getAllRulesForCodeAndStatus
<T extends AbstractRuleModel> java.util.List<T> getAllRulesForCodeAndStatus(java.lang.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
<T extends AbstractRuleModel> java.util.List<T> getAllRulesForStatus(RuleStatus... ruleStatuses)
Gets all versions ofAbstractRuleModelby status- Parameters:
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 coderuleTemplate- - rule template to clone to new rule- Returns:
- the new rule, which is a copy of the given template.
-
cloneRule
AbstractRuleModel cloneRule(AbstractRuleModel source)
Clones given rule.- Parameters:
source- - rule to clone- Returns:
- target - cloned rule
-
cloneRule
AbstractRuleModel cloneRule(java.lang.String newRuleCode, AbstractRuleModel source)
Clones given rule with the specified code for new rule.- Parameters:
newRuleCode- - new rule codesource- - 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
-
-