public class DefaultCommerceRuleEngineCache extends DefaultRuleEngineCache implements CommerceRuleEngineCache
getRaoCacheCreators() are used by this cache's cache builders
(createKIEModuleCacheBuilder(DroolsKIEModuleModel)) to create "facts templates" during the initialization of
a module. The getRaoProviders() are used to generate copies of the cached "fact templates" (see
getCachedFacts(DroolsKIEBaseModel)).
Note: During the addKIEModuleCache(KIEModuleCacheBuilder) a check (see checkFactTemplates(Map)) is
done to ensure that for each created fact template there is a registered RAOProvider (matched by its class)
that can create a copy of the fact template. This check can be disabled (via setting the
defaultCommerceRuleEngineCache.checkRAOProvidersForCache property to false). If the check is disabled and a
fact template has no corresponding RAOProvider to create a copy, it will simply be inserted directly as a fact into
the rule evaluation context. This can be useful if a fact template doesn't require to have a copy created for each
rule evaluation (e.g. if the fact template is not modified by any rules during rule evaluation).
Out of the box two fact template types are implemented: RuleConfigurationRRD objects which represent a rule
and track/control its execution and RuleGroupExecutionRRD objects which represent rule groups and
track/control their execution.| Modifier and Type | Field and Description |
|---|---|
protected static RAOProvider<java.lang.Object> |
identityRAOProvider
the identity rao provider returns a singleton set of the given fact template.
|
kieBaseCacheKeyGenerator, kieModuleCacheKeyGenerator| Constructor and Description |
|---|
DefaultCommerceRuleEngineCache() |
| Modifier and Type | Method and Description |
|---|---|
void |
addKIEModuleCache(KIEModuleCacheBuilder cacheBuilder)
adds the given cache builder to the global globals cache.
|
protected void |
checkFactTemplates(java.util.Map<java.lang.Object,java.util.Collection<java.lang.Object>> factTemplates)
checks that for each given fact template class there is an RAOProvider registered.
|
KIEModuleCacheBuilder |
createKIEModuleCacheBuilder(DroolsKIEModuleModel kieModule)
creates a RuleEngineKIEModuleCacheBuilder object for the given kieModule.
|
java.util.Collection<java.lang.Object> |
getCachedFacts(DroolsKIEBaseModel kieBase)
returns the facts registered for the given kieBase.
|
protected java.util.Collection<java.lang.Object> |
getFactTemplateCacheForKieBase(DroolsKIEBaseModel kieBase)
returns the fact templates for the given kie base.
|
protected java.util.Optional<java.util.Map<java.lang.Object,java.util.Collection<java.lang.Object>>> |
getFactTemplateCacheForKIEModule(DroolsKIEModuleModel kieModule)
returns the optional fact templates for the given kie module
|
protected java.util.List<RAOProvider> |
getRaoCacheCreators() |
protected java.util.Optional<RAOProvider> |
getRaoProvider(java.lang.Object factTemplate)
returns the optional rao provider based on the given fact template's class
|
protected java.util.Map<java.lang.Class,RAOProvider> |
getRaoProviders() |
void |
setRaoCacheCreators(java.util.List<RAOProvider> raoCacheCreators) |
void |
setRaoProviders(java.util.Map<java.lang.Class,RAOProvider> raoProviders) |
getConfigurationService, getGlobalsCacheForKIEModule, getGlobalsForKIEBase, getKieBaseCacheKeyGenerator, getKieModuleCacheKeyGenerator, getRuleGlobalsBeanProvider, setConfigurationService, setKieBaseCacheKeyGenerator, setKieModuleCacheKeyGenerator, setRuleGlobalsBeanProviderclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetGlobalsForKIEBaseprotected static final RAOProvider<java.lang.Object> identityRAOProvider
public KIEModuleCacheBuilder createKIEModuleCacheBuilder(DroolsKIEModuleModel kieModule)
RuleEngineCachecreateKIEModuleCacheBuilder in interface RuleEngineCachecreateKIEModuleCacheBuilder in class DefaultRuleEngineCachepublic void addKIEModuleCache(KIEModuleCacheBuilder cacheBuilder)
RuleEngineCacheaddKIEModuleCache in interface RuleEngineCacheaddKIEModuleCache in class DefaultRuleEngineCachecacheBuilder - the cache builder for which to add the cachepublic java.util.Collection<java.lang.Object> getCachedFacts(DroolsKIEBaseModel kieBase)
CommerceRuleEngineCachegetCachedFacts in interface CommerceRuleEngineCacheprotected void checkFactTemplates(java.util.Map<java.lang.Object,java.util.Collection<java.lang.Object>> factTemplates)
factTemplates - the collection of fact templates to checkprotected java.util.Collection<java.lang.Object> getFactTemplateCacheForKieBase(DroolsKIEBaseModel kieBase)
protected java.util.Optional<java.util.Map<java.lang.Object,java.util.Collection<java.lang.Object>>> getFactTemplateCacheForKIEModule(DroolsKIEModuleModel kieModule)
protected java.util.Optional<RAOProvider> getRaoProvider(java.lang.Object factTemplate)
protected java.util.Map<java.lang.Class,RAOProvider> getRaoProviders()
public void setRaoProviders(java.util.Map<java.lang.Class,RAOProvider> raoProviders)
protected java.util.List<RAOProvider> getRaoCacheCreators()
public void setRaoCacheCreators(java.util.List<RAOProvider> raoCacheCreators)
Copyright © 2018 SAP SE. All Rights Reserved.