Package org.drools.compiler.rule.builder
Class PatternBuilder
java.lang.Object
org.drools.compiler.rule.builder.PatternBuilder
- All Implemented Interfaces:
EngineElementBuilder,RuleConditionBuilder<PatternDescr>
A builder for patterns
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuild(RuleBuildContext context, PatternDescr descr) build(RuleBuildContext context, PatternDescr patternDescr, Pattern prefixPattern) Build a pattern for the given descriptor in the current context and using the given utils objectstatic AnalysisResultbuildAnalysis(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String, OperatorDescr> aliases) protected ConstraintbuildConstraintForPattern(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, Map<String, OperatorDescr> aliases) protected ConstraintbuildEval(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String, OperatorDescr> aliases, String expr, boolean isEvalExpression) protected LiteralRestrictionDescrbuildLiteralRestrictionDescr(RuleBuildContext context, RelationalExprDescr exprDescr, String rightValue, boolean isRightLiteral) static Map<String,EvaluatorWrapper> buildOperators(RuleBuildContext context, Pattern pattern, BaseDescr predicateDescr, Map<String, OperatorDescr> aliases) protected ConstraintbuildRelationalExpression(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, Map<String, OperatorDescr> aliases) protected voidbuildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, Declaration xpathStartDeclaration, Pattern pattern, BindingDescr fieldBindingDescr) protected voidbuildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, Declaration xpathStartDeclaration, Pattern pattern, BindingDescr fieldBindingDescr, TypeDeclaration typeDeclaration) protected ConstraintcreateAndBuildPredicate(RuleBuildContext context, Pattern pattern, BaseDescr base, String expr, Map<String, OperatorDescr> aliases) protected static DeclarationcreateDeclarationObject(RuleBuildContext context, String identifier, String expr, Pattern pattern) protected static DeclarationcreateDeclarationObject(RuleBuildContext context, String identifier, Pattern pattern) Creates a declaration object for the field identified by the given identifier on the give pattern objectstatic voidcreateImplicitBindings(RuleBuildContext context, Pattern pattern, Set<String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, List<Declaration> factDeclarations) static ReadAccessorgetFieldReadAccessor(RuleBuildContext context, BaseDescr descr, Pattern pattern, String fieldName, AcceptsReadAccessor target, boolean reportError) static ReadAccessorgetFieldReadAccessor(RuleBuildContext context, BaseDescr descr, Pattern pattern, ObjectType objectType, String fieldName, AcceptsReadAccessor target, boolean reportError) static EvaluatorWrapper[]getOperators(Map<String, EvaluatorWrapper> operatorMap) protected Collection<String>getSettableProperties(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) static Declaration[][]getUsedDeclarations(RuleBuildContext context, Pattern pattern, AnalysisResult analysis) booleanisInternalFact(PatternDescr patternDescr, RuleBuildContext context) protected booleanisSimpleExpr(RelationalExprDescr relDescr) static Collection<String>lookAheadFieldsOfIdentifier(RuleDescr ruleDescr, PatternDescr patternDescr) protected ConstraintConnectiveDescrparseExpression(RuleBuildContext context, PatternDescr patternDescr, BaseDescr original, String expression) protected voidprocessAnnotations(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) protected ConstraintprocessAtomicExpression(RuleBuildContext context, Pattern pattern, BaseDescr d, String expr, Map<String, OperatorDescr> aliases) protected voidprocessListenedPropertiesAnnotation(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) protected voidprocessMetadataAnnotations(PatternDescr patternDescr, Pattern pattern, org.drools.util.TypeResolver typeResolver) static voidregisterDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, Object object, String error) static voidregisterDescrBuildError(RuleBuildContext context, BaseDescr patternDescr, String error) static voidregisterReadAccessor(RuleBuildContext context, ObjectType objectType, String fieldName, AcceptsReadAccessor target)
-
Constructor Details
-
PatternBuilder
public PatternBuilder()
-
-
Method Details
-
build
- Specified by:
buildin interfaceRuleConditionBuilder<PatternDescr>
-
build
public RuleConditionElement build(RuleBuildContext context, PatternDescr patternDescr, Pattern prefixPattern) Build a pattern for the given descriptor in the current context and using the given utils object- Specified by:
buildin interfaceRuleConditionBuilder<PatternDescr>
-
isInternalFact
-
processAnnotations
protected void processAnnotations(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) -
processMetadataAnnotations
protected void processMetadataAnnotations(PatternDescr patternDescr, Pattern pattern, org.drools.util.TypeResolver typeResolver) -
processListenedPropertiesAnnotation
protected void processListenedPropertiesAnnotation(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) -
getSettableProperties
protected Collection<String> getSettableProperties(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern) -
lookAheadFieldsOfIdentifier
public static Collection<String> lookAheadFieldsOfIdentifier(RuleDescr ruleDescr, PatternDescr patternDescr) -
buildRelationalExpression
protected Constraint buildRelationalExpression(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, Map<String, OperatorDescr> aliases) -
buildConstraintForPattern
protected Constraint buildConstraintForPattern(RuleBuildContext context, 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 Constraint processAtomicExpression(RuleBuildContext context, Pattern pattern, BaseDescr d, String expr, Map<String, OperatorDescr> aliases) -
isSimpleExpr
-
createAndBuildPredicate
protected Constraint createAndBuildPredicate(RuleBuildContext context, Pattern pattern, BaseDescr base, String expr, Map<String, OperatorDescr> aliases) -
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, Declaration xpathStartDeclaration, Pattern pattern, BindingDescr fieldBindingDescr) -
buildRuleBindings
protected void buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, Declaration xpathStartDeclaration, Pattern pattern, BindingDescr fieldBindingDescr, TypeDeclaration typeDeclaration) -
buildEval
protected Constraint buildEval(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String, OperatorDescr> aliases, String expr, boolean isEvalExpression) -
getOperators
-
getUsedDeclarations
public static Declaration[][] getUsedDeclarations(RuleBuildContext context, Pattern pattern, AnalysisResult analysis) -
buildAnalysis
public static AnalysisResult buildAnalysis(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String, OperatorDescr> aliases) -
buildOperators
public static Map<String,EvaluatorWrapper> buildOperators(RuleBuildContext context, Pattern pattern, BaseDescr predicateDescr, Map<String, OperatorDescr> aliases) -
createImplicitBindings
public static void createImplicitBindings(RuleBuildContext context, Pattern pattern, Set<String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, List<Declaration> factDeclarations) -
createDeclarationObject
protected static Declaration createDeclarationObject(RuleBuildContext context, String identifier, Pattern pattern) Creates a declaration object for the field identified by the given identifier on the give pattern object -
createDeclarationObject
protected static Declaration createDeclarationObject(RuleBuildContext context, String identifier, String expr, Pattern pattern) -
registerReadAccessor
public static void registerReadAccessor(RuleBuildContext context, ObjectType objectType, String fieldName, AcceptsReadAccessor target) -
getFieldReadAccessor
public static ReadAccessor getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, Pattern pattern, String fieldName, AcceptsReadAccessor target, boolean reportError) -
getFieldReadAccessor
public static ReadAccessor getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, Pattern pattern, ObjectType objectType, String fieldName, 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)
-