Class DefaultRuleService
- java.lang.Object
-
- de.hybris.platform.ruleengineservices.rule.services.impl.DefaultRuleService
-
- All Implemented Interfaces:
RuleService
public class DefaultRuleService extends java.lang.Object implements RuleService
Default Implementation ofRuleService
-
-
Constructor Summary
Constructors Constructor Description DefaultRuleService()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated 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 activeAbstractRuleModelsjava.util.List<AbstractRuleModel>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 type<T extends AbstractRuleModel>
java.util.List<T>getAllToBePublishedRules()Deprecated, for removal: This API element is subject to removal in a future version.since 1811<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 1811protected CommonI18NServicegetCommonI18NService()EngineRuleDaogetEngineRuleDao()RuleTypegetEngineRuleTypeForRuleType(java.lang.Class<?> type)Finds engine rule type for given rule type.protected ModelServicegetModelService()protected ModuleVersionResolver<DroolsKIEModuleModel>getModuleVersionResolver()protected RuleDaogetRuleDao()protected RuleEngineContextFinderStrategygetRuleEngineContextFinderStrategy()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 typeprotected RuleTypeMappingStrategygetRuleTypeMappingStrategy()protected KeyGeneratorgetSourceRuleCodeGenerator()voidsetCommonI18NService(CommonI18NService commonI18NService)voidsetEngineRuleDao(EngineRuleDao engineRuleDao)voidsetModelService(ModelService modelService)voidsetModuleVersionResolver(ModuleVersionResolver<DroolsKIEModuleModel> moduleVersionResolver)voidsetRuleDao(RuleDao ruleDao)voidsetRuleEngineContextFinderStrategy(RuleEngineContextFinderStrategy ruleEngineContextFinderStrategy)voidsetRuleTypeMappingStrategy(RuleTypeMappingStrategy ruleTypeMappingStrategy)voidsetSourceRuleCodeGenerator(KeyGenerator sourceRuleCodeGenerator)
-
-
-
Method Detail
-
getAllRules
public <T extends AbstractRuleModel> java.util.List<T> getAllRules()
Description copied from interface:RuleServiceGets allAbstractRuleModels- Specified by:
getAllRulesin interfaceRuleService- Returns:
- List of
AbstractRuleModels
-
getAllRulesForType
public <T extends AbstractRuleModel> java.util.List<T> getAllRulesForType(java.lang.Class ruleType)
Description copied from interface:RuleServiceGets allAbstractRuleModels by a specific type- Specified by:
getAllRulesForTypein interfaceRuleService- Parameters:
ruleType- Defines which type of rules should be included in the results- Returns:
- List of
AbstractRuleModels
-
getAllActiveRules
public <T extends AbstractRuleModel> java.util.List<T> getAllActiveRules()
Description copied from interface:RuleServiceGets all activeAbstractRuleModels- Specified by:
getAllActiveRulesin interfaceRuleService- Returns:
- List of
AbstractRuleModels
-
getAllActiveRulesForType
public java.util.List<AbstractRuleModel> getAllActiveRulesForType(java.lang.Class ruleType)
Description copied from interface:RuleServiceGets all activeAbstractRuleModels by a specific type- Specified by:
getAllActiveRulesForTypein interfaceRuleService- Parameters:
ruleType- Defines which type of rules should be included in the results- Returns:
- List of
AbstractRuleModels
-
getAllToBePublishedRules
@Deprecated(since="1811", forRemoval=true) public <T extends AbstractRuleModel> java.util.List<T> getAllToBePublishedRules()Deprecated, for removal: This API element is subject to removal in a future version.since 1811Description copied from interface:RuleServiceGets all rules to be publishedAbstractRuleModels- Specified by:
getAllToBePublishedRulesin interfaceRuleService- Returns:
- List of
AbstractRuleModels
-
getAllToBePublishedRulesForType
@Deprecated(since="1811", forRemoval=true) public <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 1811Description copied from interface:RuleServiceGets all rules to be publishedAbstractRuleModels by a specific type- Specified by:
getAllToBePublishedRulesForTypein interfaceRuleService- Parameters:
ruleType- Defines which type of rules should be included in the results- Returns:
- List of
AbstractRuleModels
-
getActiveRulesForCatalogVersionAndRuleType
public <T extends AbstractRuleModel> java.util.List<T> getActiveRulesForCatalogVersionAndRuleType(CatalogVersionModel catalogVersion, RuleType ruleType)
Description copied from interface:RuleServiceGets activeAbstractRuleModels by catalog version and rule type- Specified by:
getActiveRulesForCatalogVersionAndRuleTypein interfaceRuleService- 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
public AbstractRuleModel getRuleForCode(java.lang.String code)
Description copied from interface:RuleServiceGets the latest version ofAbstractRuleModelby code.- Specified by:
getRuleForCodein interfaceRuleService- Parameters:
code- Rule's code to find- Returns:
AbstractRuleModelor null if not found
-
getAllRulesForCode
public <T extends AbstractRuleModel> java.util.List<T> getAllRulesForCode(java.lang.String code)
Description copied from interface:RuleServiceGets all versions ofAbstractRuleModelby code.- Specified by:
getAllRulesForCodein interfaceRuleService- Parameters:
code- Rule's code to find- Returns:
- List of
AbstractRuleModels
-
getAllRulesForCodeAndStatus
public <T extends AbstractRuleModel> java.util.List<T> getAllRulesForCodeAndStatus(java.lang.String code, RuleStatus... ruleStatuses)
Description copied from interface:RuleServiceGets all versions ofAbstractRuleModelby code and status- Specified by:
getAllRulesForCodeAndStatusin interfaceRuleService- Parameters:
code- Rule's code to findruleStatuses- Rules statuses that are allowed in the results- Returns:
- List of
AbstractRuleModels
-
getAllRulesForStatus
public <T extends AbstractRuleModel> java.util.List<T> getAllRulesForStatus(RuleStatus... ruleStatuses)
Description copied from interface:RuleServiceGets all versions ofAbstractRuleModelby status- Specified by:
getAllRulesForStatusin interfaceRuleService- Parameters:
ruleStatuses- Rules statuses that are allowed in the results- Returns:
- List of
AbstractRuleModels
-
createRuleFromTemplate
public <T extends AbstractRuleModel> T createRuleFromTemplate(AbstractRuleTemplateModel ruleTemplate)
Description copied from interface:RuleServiceCreates new rule from given rule template.- Specified by:
createRuleFromTemplatein interfaceRuleService- Parameters:
ruleTemplate- - rule template to clone to new rule- Returns:
- the new rule, which is a copy of the given template.
-
createRuleFromTemplate
public <T extends AbstractRuleModel> T createRuleFromTemplate(java.lang.String newRuleCode, AbstractRuleTemplateModel ruleTemplate)
Description copied from interface:RuleServiceCreates new rule from given rule template.- Specified by:
createRuleFromTemplatein interfaceRuleService- 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
public AbstractRuleModel cloneRule(AbstractRuleModel source)
Description copied from interface:RuleServiceClones given rule.- Specified by:
cloneRulein interfaceRuleService- Parameters:
source- - rule to clone- Returns:
- target - cloned rule
-
cloneRule
public AbstractRuleModel cloneRule(java.lang.String newRuleCode, AbstractRuleModel source)
Description copied from interface:RuleServiceClones given rule with the specified code for new rule.- Specified by:
cloneRulein interfaceRuleService- Parameters:
newRuleCode- - new rule codesource- - rule to clone- Returns:
- target - cloned rule
-
getRuleTypeFromTemplate
public java.lang.Class<? extends AbstractRuleModel> getRuleTypeFromTemplate(java.lang.Class<? extends AbstractRuleTemplateModel> templateType)
Description copied from interface:RuleServiceFinds and returns rule type model class based on the template type- Specified by:
getRuleTypeFromTemplatein interfaceRuleService- Parameters:
templateType- - template type- Returns:
- rule type model
-
getEngineRuleTypeForRuleType
public RuleType getEngineRuleTypeForRuleType(java.lang.Class<?> type)
Description copied from interface:RuleServiceFinds engine rule type for given rule type. If no mapping is found it returns RuleType.DEFAULT.- Specified by:
getEngineRuleTypeForRuleTypein interfaceRuleService- Parameters:
type- - type of the rule.- Returns:
- RuleType of the engine rule
-
getRuleDao
protected RuleDao getRuleDao()
-
setRuleDao
public void setRuleDao(RuleDao ruleDao)
-
getEngineRuleDao
public EngineRuleDao getEngineRuleDao()
-
setEngineRuleDao
public void setEngineRuleDao(EngineRuleDao engineRuleDao)
-
getModelService
protected ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getSourceRuleCodeGenerator
protected KeyGenerator getSourceRuleCodeGenerator()
-
setSourceRuleCodeGenerator
public void setSourceRuleCodeGenerator(KeyGenerator sourceRuleCodeGenerator)
-
getCommonI18NService
protected CommonI18NService getCommonI18NService()
-
setCommonI18NService
public void setCommonI18NService(CommonI18NService commonI18NService)
-
getRuleTypeMappingStrategy
protected RuleTypeMappingStrategy getRuleTypeMappingStrategy()
-
setRuleTypeMappingStrategy
public void setRuleTypeMappingStrategy(RuleTypeMappingStrategy ruleTypeMappingStrategy)
-
getModuleVersionResolver
protected ModuleVersionResolver<DroolsKIEModuleModel> getModuleVersionResolver()
-
setModuleVersionResolver
public void setModuleVersionResolver(ModuleVersionResolver<DroolsKIEModuleModel> moduleVersionResolver)
-
getRuleEngineContextFinderStrategy
protected RuleEngineContextFinderStrategy getRuleEngineContextFinderStrategy()
-
setRuleEngineContextFinderStrategy
public void setRuleEngineContextFinderStrategy(RuleEngineContextFinderStrategy ruleEngineContextFinderStrategy)
-
-