public class DefaultDroolsRuleConditionsGenerator extends java.lang.Object implements DroolsRuleConditionsGenerator
| Modifier and Type | Class and Description |
|---|---|
protected static class |
DefaultDroolsRuleConditionsGenerator.Dependency |
protected static class |
DefaultDroolsRuleConditionsGenerator.DependencyComparator |
| Modifier and Type | Field and Description |
|---|---|
static int |
BUFFER_SIZE |
static java.lang.String |
NON_SUPPORTED_CONDITION |
| Constructor and Description |
|---|
DefaultDroolsRuleConditionsGenerator() |
| Modifier and Type | Method and Description |
|---|---|
protected java.util.Set<DefaultDroolsRuleConditionsGenerator.Dependency> |
buildDependencies(java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions) |
protected java.lang.String |
evaluatePatternConditionType(DroolsRuleGeneratorContext context,
AbstractRuleIrPatternCondition patternCondition) |
protected java.lang.String |
evaluatePatternConditionType(DroolsRuleGeneratorContext context,
AbstractRuleIrPatternCondition patternCondition,
java.util.function.Supplier<java.lang.String> variablePrefixSupplier) |
protected RuleIrConditionsByType |
evaluateRuleConditionType(java.util.List<RuleIrCondition> conditions) |
protected void |
expandDependencies(java.util.Set<DefaultDroolsRuleConditionsGenerator.Dependency> dependencies) |
protected java.util.Collection<RuleIrCondition> |
filterOutNonGroupConditions(java.util.Collection<RuleIrCondition> conditions) |
protected RuleIrVariable |
findVariable(DroolsRuleGeneratorContext context,
java.lang.String variableName) |
protected void |
findVariablesOfPatternConditions(java.util.Collection<java.lang.String> variableNames,
java.util.Collection<RuleIrCondition> conditions) |
protected void |
generateBooleanConditions(java.util.Map<java.lang.Boolean,java.util.Collection<AbstractRuleIrBooleanCondition>> booleanConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected java.lang.String |
generateConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrCondition> conditions,
RuleIrGroupOperator operator,
java.lang.String conditionPrefix,
java.lang.String indentation) |
java.lang.String |
generateConditions(DroolsRuleGeneratorContext context,
java.lang.String indentation)
Generates the conditions for the Drools rule engine.
|
protected void |
generateExecutableConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrExecutableCondition> executableConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generateExistsConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrExistsCondition> existsConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generateGroupConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrGroupCondition> groupConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generateGroupConditions(java.util.List<RuleIrGroupCondition> groupConditions,
java.util.function.Function<RuleIrGroupCondition,java.lang.String> generateConditionsFunction,
java.util.StringJoiner conditionsJoiner) |
protected void |
generateNotConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrNotCondition> notConditions,
java.util.function.Function<RuleIrNotCondition,java.lang.String> generateConditionsSupplier,
java.util.StringJoiner conditionsJoiner) |
protected void |
generateNotConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrNotCondition> notConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generatePatternConditions(DroolsRuleGeneratorContext context,
java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions,
RuleIrGroupOperator groupOperator,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
java.lang.String |
generateRequiredFactsCheckPattern(DroolsRuleGeneratorContext context)
Generates the required facts check pattern for the rule's LHS
|
protected java.lang.String |
generateWhenConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrCondition> conditions,
RuleIrGroupOperator operator,
java.lang.String conditionPrefix,
java.lang.String indentation) |
protected void |
generateWhenGroupConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrGroupCondition> groupConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generateWhenNotConditions(DroolsRuleGeneratorContext context,
java.util.List<RuleIrNotCondition> notConditions,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected void |
generateWhenPatternConditions(DroolsRuleGeneratorContext context,
java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions,
RuleIrGroupOperator groupOperator,
java.util.StringJoiner conditionsJoiner,
java.lang.String indentation) |
protected java.util.Collection<RuleIrCondition> |
getConditionsInGroups(java.util.Collection<? extends RuleIrCondition> conditions) |
DroolsRuleValueFormatter |
getDroolsRuleValueFormatter() |
protected boolean |
isAnyVariableReferredInAttrRelConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others) |
protected boolean |
isAnyVariableReferredInConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others) |
protected boolean |
isAnyVariableReferredInPatternConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others) |
protected boolean |
isConditionDependentOnOthers(RuleIrCondition condition,
java.util.Collection<? extends RuleIrCondition> others,
java.util.Collection<java.lang.String> definedVariables) |
protected boolean |
isVariableTerminal(java.lang.String variableName,
java.util.Collection<RuleIrCondition> conditions) |
protected boolean |
isVariableTerminal(java.lang.String variableName,
DroolsRuleGeneratorContext context) |
protected boolean |
isVariableTerminal(java.lang.String variableName,
java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions)
Deprecated.
since 6.7. Use method isVariableTerminal(String, DroolsRuleGeneratorContext) instead.
|
void |
setDroolsRuleValueFormatter(DroolsRuleValueFormatter droolsRuleValueFormatter) |
public static final java.lang.String NON_SUPPORTED_CONDITION
public static final int BUFFER_SIZE
public DefaultDroolsRuleConditionsGenerator()
public java.lang.String generateConditions(DroolsRuleGeneratorContext context, java.lang.String indentation)
DroolsRuleConditionsGeneratorgenerateConditions in interface DroolsRuleConditionsGeneratorcontext - - the drools rule generator contextindentation - - the indentationpublic java.lang.String generateRequiredFactsCheckPattern(DroolsRuleGeneratorContext context)
DroolsRuleConditionsGeneratorgenerateRequiredFactsCheckPattern in interface DroolsRuleConditionsGeneratorcontext - - the drools rule generator contextprotected java.lang.String generateWhenConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrCondition> conditions, RuleIrGroupOperator operator, java.lang.String conditionPrefix, java.lang.String indentation)
protected boolean isConditionDependentOnOthers(RuleIrCondition condition, java.util.Collection<? extends RuleIrCondition> others, java.util.Collection<java.lang.String> definedVariables)
protected boolean isAnyVariableReferredInConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others)
protected boolean isAnyVariableReferredInPatternConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others)
protected boolean isAnyVariableReferredInAttrRelConditions(java.util.Collection<java.lang.String> variableNamesToCheck,
java.util.Collection<? extends RuleIrCondition> others)
protected void findVariablesOfPatternConditions(java.util.Collection<java.lang.String> variableNames,
java.util.Collection<RuleIrCondition> conditions)
protected java.util.Collection<RuleIrCondition> getConditionsInGroups(java.util.Collection<? extends RuleIrCondition> conditions)
protected java.util.Collection<RuleIrCondition> filterOutNonGroupConditions(java.util.Collection<RuleIrCondition> conditions)
protected java.lang.String generateConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrCondition> conditions, RuleIrGroupOperator operator, java.lang.String conditionPrefix, java.lang.String indentation)
protected RuleIrConditionsByType evaluateRuleConditionType(java.util.List<RuleIrCondition> conditions)
protected void generateBooleanConditions(java.util.Map<java.lang.Boolean,java.util.Collection<AbstractRuleIrBooleanCondition>> booleanConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateWhenPatternConditions(DroolsRuleGeneratorContext context, java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions, RuleIrGroupOperator groupOperator, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
@Deprecated
protected boolean isVariableTerminal(java.lang.String variableName,
java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions)
variableName - name of the variable to checkpatternConditions - the map of all available conditionsprotected boolean isVariableTerminal(java.lang.String variableName,
DroolsRuleGeneratorContext context)
protected boolean isVariableTerminal(java.lang.String variableName,
java.util.Collection<RuleIrCondition> conditions)
protected void generatePatternConditions(DroolsRuleGeneratorContext context, java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions, RuleIrGroupOperator groupOperator, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected java.lang.String evaluatePatternConditionType(DroolsRuleGeneratorContext context, AbstractRuleIrPatternCondition patternCondition)
protected java.lang.String evaluatePatternConditionType(DroolsRuleGeneratorContext context, AbstractRuleIrPatternCondition patternCondition, java.util.function.Supplier<java.lang.String> variablePrefixSupplier)
protected void generateWhenGroupConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrGroupCondition> groupConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateGroupConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrGroupCondition> groupConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateGroupConditions(java.util.List<RuleIrGroupCondition> groupConditions, java.util.function.Function<RuleIrGroupCondition,java.lang.String> generateConditionsFunction, java.util.StringJoiner conditionsJoiner)
protected void generateExistsConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrExistsCondition> existsConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateNotConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrNotCondition> notConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateWhenNotConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrNotCondition> notConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected void generateNotConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrNotCondition> notConditions, java.util.function.Function<RuleIrNotCondition,java.lang.String> generateConditionsSupplier, java.util.StringJoiner conditionsJoiner)
protected void generateExecutableConditions(DroolsRuleGeneratorContext context, java.util.List<RuleIrExecutableCondition> executableConditions, java.util.StringJoiner conditionsJoiner, java.lang.String indentation)
protected RuleIrVariable findVariable(DroolsRuleGeneratorContext context, java.lang.String variableName)
protected java.util.Set<DefaultDroolsRuleConditionsGenerator.Dependency> buildDependencies(java.util.Map<java.lang.String,java.util.Collection<AbstractRuleIrPatternCondition>> patternConditions)
protected void expandDependencies(java.util.Set<DefaultDroolsRuleConditionsGenerator.Dependency> dependencies)
public DroolsRuleValueFormatter getDroolsRuleValueFormatter()
public void setDroolsRuleValueFormatter(DroolsRuleValueFormatter droolsRuleValueFormatter)
Copyright © 2018 SAP SE. All Rights Reserved.