Package org.drools.compiler.rule.builder
Class PatternBuilder
- java.lang.Object
-
- org.drools.compiler.rule.builder.PatternBuilder
-
- All Implemented Interfaces:
EngineElementBuilder,RuleConditionBuilder<org.drools.drl.ast.descr.PatternDescr>
public class PatternBuilder extends Object implements RuleConditionBuilder<org.drools.drl.ast.descr.PatternDescr>
A builder for patterns
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPatternBuilder.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.RuleConditionElementbuild(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr descr)org.drools.core.rule.RuleConditionElementbuild(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern prefixPattern)Build a pattern for the given descriptor in the current context and using the given utils objectstatic AnalysisResultbuildAnalysis(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.PredicateDescr predicateDescr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected org.drools.core.spi.ConstraintbuildConstraintForPattern(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected org.drools.core.spi.ConstraintbuildEval(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.PredicateDescr predicateDescr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases, String expr, boolean isEvalExpression)protected org.drools.drl.ast.descr.LiteralRestrictionDescrbuildLiteralRestrictionDescr(RuleBuildContext context, org.drools.drl.ast.descr.RelationalExprDescr exprDescr, String rightValue, boolean isRightLiteral)static Map<String,EvaluatorWrapper>buildOperators(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr predicateDescr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected org.drools.core.spi.ConstraintbuildRelationalExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected voidbuildRuleBindings(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Declaration xpathStartDeclaration, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr)protected voidbuildRuleBindings(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Declaration xpathStartDeclaration, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr, org.drools.core.rule.TypeDeclaration typeDeclaration)protected org.drools.core.spi.ConstraintcreateAndBuildPredicate(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr base, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected static org.drools.core.rule.DeclarationcreateDeclarationObject(RuleBuildContext context, String identifier, String expr, org.drools.core.rule.Pattern pattern)protected static org.drools.core.rule.DeclarationcreateDeclarationObject(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 voidcreateImplicitBindings(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.InternalReadAccessorgetFieldReadAccessor(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.core.rule.Pattern pattern, String fieldName, org.drools.core.spi.AcceptsReadAccessor target, boolean reportError)static org.drools.core.spi.InternalReadAccessorgetFieldReadAccessor(RuleBuildContext context, org.drools.drl.ast.descr.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 EvaluatorWrapper[]getOperators(Map<String,EvaluatorWrapper> operatorMap)protected Collection<String>getSettableProperties(RuleBuildContext context, org.drools.drl.ast.descr.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)booleanisInternalFact(org.drools.drl.ast.descr.PatternDescr patternDescr, RuleBuildContext context)protected booleanisSimpleExpr(org.drools.drl.ast.descr.RelationalExprDescr relDescr)static Collection<String>lookAheadFieldsOfIdentifier(org.drools.drl.ast.descr.RuleDescr ruleDescr, org.drools.drl.ast.descr.PatternDescr patternDescr)protected org.drools.drl.ast.descr.ConstraintConnectiveDescrparseExpression(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.drl.ast.descr.BaseDescr original, String expression)protected voidprocessAnnotations(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)protected org.drools.core.spi.ConstraintprocessAtomicExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr d, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)protected voidprocessListenedPropertiesAnnotation(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)protected voidprocessMetadataAnnotations(org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, org.drools.core.addon.TypeResolver typeResolver)static voidregisterDescrBuildError(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, Object object, String error)static voidregisterDescrBuildError(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, String error)static voidregisterReadAccessor(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, org.drools.drl.ast.descr.PatternDescr descr)
- Specified by:
buildin interfaceRuleConditionBuilder<org.drools.drl.ast.descr.PatternDescr>
-
build
public org.drools.core.rule.RuleConditionElement build(RuleBuildContext context, org.drools.drl.ast.descr.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:
buildin interfaceRuleConditionBuilder<org.drools.drl.ast.descr.PatternDescr>
-
isInternalFact
public boolean isInternalFact(org.drools.drl.ast.descr.PatternDescr patternDescr, RuleBuildContext context)
-
processAnnotations
protected void processAnnotations(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
processMetadataAnnotations
protected void processMetadataAnnotations(org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern, org.drools.core.addon.TypeResolver typeResolver)
-
processListenedPropertiesAnnotation
protected void processListenedPropertiesAnnotation(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
getSettableProperties
protected Collection<String> getSettableProperties(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Pattern pattern)
-
lookAheadFieldsOfIdentifier
public static Collection<String> lookAheadFieldsOfIdentifier(org.drools.drl.ast.descr.RuleDescr ruleDescr, org.drools.drl.ast.descr.PatternDescr patternDescr)
-
buildRelationalExpression
protected org.drools.core.spi.Constraint buildRelationalExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)
-
buildConstraintForPattern
protected org.drools.core.spi.Constraint buildConstraintForPattern(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)
-
buildLiteralRestrictionDescr
protected org.drools.drl.ast.descr.LiteralRestrictionDescr buildLiteralRestrictionDescr(RuleBuildContext context, org.drools.drl.ast.descr.RelationalExprDescr exprDescr, String rightValue, boolean isRightLiteral)
-
processAtomicExpression
protected org.drools.core.spi.Constraint processAtomicExpression(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr d, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)
-
isSimpleExpr
protected boolean isSimpleExpr(org.drools.drl.ast.descr.RelationalExprDescr relDescr)
-
createAndBuildPredicate
protected org.drools.core.spi.Constraint createAndBuildPredicate(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr base, String expr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)
-
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Declaration xpathStartDeclaration, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr)
-
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.core.rule.Declaration xpathStartDeclaration, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr, org.drools.core.rule.TypeDeclaration typeDeclaration)
-
buildEval
protected org.drools.core.spi.Constraint buildEval(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.PredicateDescr predicateDescr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases, String expr, boolean isEvalExpression)
-
getOperators
public static EvaluatorWrapper[] getOperators(Map<String,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, org.drools.drl.ast.descr.PredicateDescr predicateDescr, Map<String,org.drools.drl.ast.descr.OperatorDescr> aliases)
-
buildOperators
public static Map<String,EvaluatorWrapper> buildOperators(RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr predicateDescr, Map<String,org.drools.drl.ast.descr.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, org.drools.drl.ast.descr.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, org.drools.drl.ast.descr.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 org.drools.drl.ast.descr.ConstraintConnectiveDescr parseExpression(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.drl.ast.descr.BaseDescr original, String expression)
-
registerDescrBuildError
public static void registerDescrBuildError(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, String error)
-
registerDescrBuildError
public static void registerDescrBuildError(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, Object object, String error)
-
-