Package org.drools.compiler.rule.builder
Class PatternBuilder
- java.lang.Object
-
- org.drools.compiler.rule.builder.PatternBuilder
-
- All Implemented Interfaces:
EngineElementBuilder
,RuleConditionBuilder<PatternDescr>
public class PatternBuilder extends Object implements RuleConditionBuilder<PatternDescr>
A builder for patterns
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
PatternBuilder.ExprBindings
-
Constructor Summary
Constructors Constructor Description PatternBuilder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description org.drools.core.rule.RuleConditionElement
build(RuleBuildContext context, PatternDescr descr)
org.drools.core.rule.RuleConditionElement
build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern prefixPattern)
Build a pattern for the given descriptor in the current context and using the given utils objectprotected void
build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr original, String expr)
protected List<org.drools.core.spi.Constraint>
build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, ConstraintConnectiveDescr descr, MVELDumper.MVELDumperContext mvelCtx)
static AnalysisResult
buildAnalysis(RuleBuildContext context, org.drools.core.rule.Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases)
protected org.drools.core.spi.Constraint
buildCcdDescr(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr d, ConstraintConnectiveDescr ccd, MVELDumper.MVELDumperContext mvelCtx)
protected org.drools.core.spi.Constraint
buildConstraintForPattern(RuleBuildContext context, org.drools.core.rule.Pattern pattern, RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, Map<String,OperatorDescr> aliases)
protected org.drools.core.spi.Constraint
buildEval(RuleBuildContext context, org.drools.core.rule.Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases, String expr, boolean isEvalExpression)
protected LiteralRestrictionDescr
buildLiteralRestrictionDescr(RuleBuildContext context, RelationalExprDescr exprDescr, String rightValue, boolean isRightLiteral)
static Map<String,org.drools.core.base.EvaluatorWrapper>
buildOperators(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr predicateDescr, Map<String,OperatorDescr> aliases)
protected org.drools.core.spi.Constraint
buildRelationalExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, RelationalExprDescr relDescr, String expr, Map<String,OperatorDescr> aliases)
protected void
buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BindingDescr fieldBindingDescr)
protected void
buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BindingDescr fieldBindingDescr, org.drools.core.rule.TypeDeclaration typeDeclaration)
protected org.drools.core.spi.Constraint
createAndBuildPredicate(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr base, String expr, Map<String,OperatorDescr> aliases)
protected static org.drools.core.rule.Declaration
createDeclarationObject(RuleBuildContext context, String identifier, String expr, org.drools.core.rule.Pattern pattern)
protected static org.drools.core.rule.Declaration
createDeclarationObject(RuleBuildContext context, String identifier, org.drools.core.rule.Pattern pattern)
Creates a declaration object for the field identified by the given identifier on the give pattern objectstatic void
createImplicitBindings(RuleBuildContext context, org.drools.core.rule.Pattern pattern, Set<String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, List<org.drools.core.rule.Declaration> factDeclarations)
static org.drools.core.spi.InternalReadAccessor
getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, org.drools.core.rule.Pattern pattern, String fieldName, org.drools.core.spi.AcceptsReadAccessor target, boolean reportError)
static org.drools.core.spi.InternalReadAccessor
getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, org.drools.core.rule.Pattern pattern, org.drools.core.spi.ObjectType objectType, String fieldName, org.drools.core.spi.AcceptsReadAccessor target, boolean reportError)
static org.drools.core.base.EvaluatorWrapper[]
getOperators(Map<String,org.drools.core.base.EvaluatorWrapper> operatorMap)
protected List<String>
getSettableProperties(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
static org.drools.core.rule.Declaration[][]
getUsedDeclarations(RuleBuildContext context, org.drools.core.rule.Pattern pattern, AnalysisResult analysis)
protected boolean
isSimpleExpr(RelationalExprDescr relDescr)
protected ConstraintConnectiveDescr
parseExpression(RuleBuildContext context, PatternDescr patternDescr, BaseDescr original, String expression)
protected void
processAnnotations(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
protected org.drools.core.spi.Constraint
processAtomicExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr d, String expr, Map<String,OperatorDescr> aliases)
protected void
processConstraintsAndBinds(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
Process all constraints and bindings on this patternprotected void
processDuplicateBindings(boolean isUnification, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr original, String leftExpression, String rightIdentifier, RuleBuildContext context)
protected void
processListenedPropertiesAnnotation(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
protected void
processMetadataAnnotations(PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, org.drools.core.addon.TypeResolver typeResolver)
protected void
processPositional(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, ExprConstraintDescr descr)
static void
registerDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, Object object, String error)
static void
registerDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, String error)
static void
registerReadAccessor(RuleBuildContext context, org.drools.core.spi.ObjectType objectType, String fieldName, org.drools.core.spi.AcceptsReadAccessor target)
-
-
-
Method Detail
-
build
public org.drools.core.rule.RuleConditionElement build(RuleBuildContext context, PatternDescr descr)
- Specified by:
build
in interfaceRuleConditionBuilder<PatternDescr>
-
build
public org.drools.core.rule.RuleConditionElement build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern prefixPattern)
Build a pattern for the given descriptor in the current context and using the given utils object- Specified by:
build
in interfaceRuleConditionBuilder<PatternDescr>
-
processDuplicateBindings
protected void processDuplicateBindings(boolean isUnification, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr original, String leftExpression, String rightIdentifier, RuleBuildContext context)
-
processAnnotations
protected void processAnnotations(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
processMetadataAnnotations
protected void processMetadataAnnotations(PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, org.drools.core.addon.TypeResolver typeResolver)
-
processListenedPropertiesAnnotation
protected void processListenedPropertiesAnnotation(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
getSettableProperties
protected List<String> getSettableProperties(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
processConstraintsAndBinds
protected void processConstraintsAndBinds(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
Process all constraints and bindings on this pattern
-
processPositional
protected void processPositional(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, ExprConstraintDescr descr)
-
build
protected void build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr original, String expr)
-
build
protected List<org.drools.core.spi.Constraint> build(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, ConstraintConnectiveDescr descr, MVELDumper.MVELDumperContext mvelCtx)
-
buildCcdDescr
protected org.drools.core.spi.Constraint buildCcdDescr(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BaseDescr d, ConstraintConnectiveDescr ccd, MVELDumper.MVELDumperContext mvelCtx)
-
buildRelationalExpression
protected org.drools.core.spi.Constraint buildRelationalExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, RelationalExprDescr relDescr, String expr, Map<String,OperatorDescr> aliases)
-
buildConstraintForPattern
protected org.drools.core.spi.Constraint buildConstraintForPattern(RuleBuildContext context, org.drools.core.rule.Pattern pattern, RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, Map<String,OperatorDescr> aliases)
-
buildLiteralRestrictionDescr
protected LiteralRestrictionDescr buildLiteralRestrictionDescr(RuleBuildContext context, RelationalExprDescr exprDescr, String rightValue, boolean isRightLiteral)
-
processAtomicExpression
protected org.drools.core.spi.Constraint processAtomicExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr d, String expr, Map<String,OperatorDescr> aliases)
-
isSimpleExpr
protected boolean isSimpleExpr(RelationalExprDescr relDescr)
-
createAndBuildPredicate
protected org.drools.core.spi.Constraint createAndBuildPredicate(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr base, String expr, Map<String,OperatorDescr> aliases)
-
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BindingDescr fieldBindingDescr)
-
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, BindingDescr fieldBindingDescr, org.drools.core.rule.TypeDeclaration typeDeclaration)
-
buildEval
protected org.drools.core.spi.Constraint buildEval(RuleBuildContext context, org.drools.core.rule.Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases, String expr, boolean isEvalExpression)
-
getOperators
public static org.drools.core.base.EvaluatorWrapper[] getOperators(Map<String,org.drools.core.base.EvaluatorWrapper> operatorMap)
-
getUsedDeclarations
public static org.drools.core.rule.Declaration[][] getUsedDeclarations(RuleBuildContext context, org.drools.core.rule.Pattern pattern, AnalysisResult analysis)
-
buildAnalysis
public static AnalysisResult buildAnalysis(RuleBuildContext context, org.drools.core.rule.Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases)
-
buildOperators
public static Map<String,org.drools.core.base.EvaluatorWrapper> buildOperators(RuleBuildContext context, org.drools.core.rule.Pattern pattern, BaseDescr predicateDescr, Map<String,OperatorDescr> aliases)
-
createImplicitBindings
public static void createImplicitBindings(RuleBuildContext context, org.drools.core.rule.Pattern pattern, Set<String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, List<org.drools.core.rule.Declaration> factDeclarations)
-
createDeclarationObject
protected static org.drools.core.rule.Declaration createDeclarationObject(RuleBuildContext context, String identifier, org.drools.core.rule.Pattern pattern)
Creates a declaration object for the field identified by the given identifier on the give pattern object
-
createDeclarationObject
protected static org.drools.core.rule.Declaration createDeclarationObject(RuleBuildContext context, String identifier, String expr, org.drools.core.rule.Pattern pattern)
-
registerReadAccessor
public static void registerReadAccessor(RuleBuildContext context, org.drools.core.spi.ObjectType objectType, String fieldName, org.drools.core.spi.AcceptsReadAccessor target)
-
getFieldReadAccessor
public static org.drools.core.spi.InternalReadAccessor getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, org.drools.core.rule.Pattern pattern, String fieldName, org.drools.core.spi.AcceptsReadAccessor target, boolean reportError)
-
getFieldReadAccessor
public static org.drools.core.spi.InternalReadAccessor getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, org.drools.core.rule.Pattern pattern, org.drools.core.spi.ObjectType objectType, String fieldName, org.drools.core.spi.AcceptsReadAccessor target, boolean reportError)
-
parseExpression
protected ConstraintConnectiveDescr parseExpression(RuleBuildContext context, PatternDescr patternDescr, BaseDescr original, String expression)
-
registerDescrBuildError
public static void registerDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, String error)
-
registerDescrBuildError
public static void registerDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, Object object, String error)
-
-