org.drools.rule.builder
Class PatternBuilder

java.lang.Object
  extended by org.drools.rule.builder.PatternBuilder
All Implemented Interfaces:
EngineElementBuilder, RuleConditionBuilder

public class PatternBuilder
extends Object
implements RuleConditionBuilder

A builder for patterns


Nested Class Summary
static class PatternBuilder.ExprBindings
           
 
Constructor Summary
PatternBuilder()
           
 
Method Summary
protected  boolean addConstraintToPattern(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant)
           
protected  boolean addConstraintToPattern(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, String value1, String value2, boolean isConstant, InternalReadAccessor extractor)
           
 RuleConditionElement build(RuleBuildContext context, BaseDescr descr)
           
 RuleConditionElement build(RuleBuildContext context, BaseDescr descr, Pattern prefixPattern)
          Build a pattern for the given descriptor in the current context and using the given utils object
protected  void build(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, BaseDescr original, String expr)
           
protected  void build(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, ConstraintConnectiveDescr descr, MVELDumper.MVELDumperContext mvelCtx)
           
static AnalysisResult buildAnalysis(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases)
           
protected  void buildCcdDescr(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, BaseDescr d, ConstraintConnectiveDescr ccd, MVELDumper.MVELDumperContext mvelCtx)
           
protected  void buildEval(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases, String expr, boolean isEvalExpression)
           
protected  void buildExpression(RuleBuildContext context, Pattern pattern, BaseDescr d, String expr, Map<String,OperatorDescr> aliases)
           
protected  LiteralRestrictionDescr buildLiteralRestrictionDescr(RuleBuildContext context, RelationalExprDescr exprDescr, String rightValue, String operator, boolean isRightLiteral)
           
protected static Map<String,EvaluatorWrapper> buildOperators(RuleBuildContext context, Pattern pattern, PredicateDescr predicateDescr, Map<String,OperatorDescr> aliases)
           
protected  void buildRelationalExpression(RuleBuildContext context, Pattern pattern, RelationalExprDescr relDescr, String expr, Map<String,OperatorDescr> aliases)
           
protected  void buildRuleBindings(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, BindingDescr fieldBindingDescr)
           
protected  void createAndBuildPredicate(RuleBuildContext context, Pattern pattern, BaseDescr base, String expr, Map<String,OperatorDescr> aliases)
           
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
protected static Declaration createDeclarationObject(RuleBuildContext context, String identifier, String expr, Pattern pattern)
           
static void createImplicitBindings(RuleBuildContext context, Pattern pattern, Set<String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, List<Declaration> factDeclarations)
           
protected static ConstraintBuilder getConstraintBuilder(RuleBuildContext context)
           
static Map<String,Class<?>> getDeclarationsMap(BaseDescr baseDescr, RuleBuildContext context, boolean reportError)
           
static InternalReadAccessor getFieldReadAccessor(RuleBuildContext context, BaseDescr descr, ObjectType objectType, String fieldName, AcceptsReadAccessor target, boolean reportError)
           
protected  FieldValue getFieldValue(RuleBuildContext context, ValueType vtype, LiteralRestrictionDescr literalRestrictionDescr)
           
protected  List<String> getSettableProperties(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern)
           
static Declaration[][] getUsedDeclarations(RuleBuildContext context, 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, Pattern pattern)
           
protected  boolean processAtomicExpression(RuleBuildContext context, Pattern pattern, BaseDescr d, String expr, Map<String,OperatorDescr> aliases)
           
protected  void processConstraintsAndBinds(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern)
          Process all constraints and bindings on this pattern
protected  void processDuplicateBindings(boolean isUnification, PatternDescr patternDescr, Pattern pattern, BaseDescr original, String leftExpression, String rightIdentifier, RuleBuildContext context)
           
protected  void processListenedPropertiesAnnotation(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, Map<String,AnnotationDescr> annotationMap)
           
protected  void processMetadataAnnotations(Pattern pattern, Map<String,AnnotationDescr> annotationMap)
           
protected  void processPositional(RuleBuildContext context, PatternDescr patternDescr, Pattern pattern, ExprConstraintDescr descr)
           
static void registerReadAccessor(RuleBuildContext context, ObjectType objectType, String fieldName, AcceptsReadAccessor target)
           
protected  void setInputs(RuleBuildContext context, PatternBuilder.ExprBindings descrBranch, Class<?> thisClass, String expr)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PatternBuilder

public PatternBuilder()
Method Detail

build

public RuleConditionElement build(RuleBuildContext context,
                                  BaseDescr descr)
Specified by:
build in interface RuleConditionBuilder

build

public RuleConditionElement build(RuleBuildContext context,
                                  BaseDescr descr,
                                  Pattern prefixPattern)
Build a pattern for the given descriptor in the current context and using the given utils object

Specified by:
build in interface RuleConditionBuilder
Parameters:
context -
descr -
prefixPattern -
Returns:

processDuplicateBindings

protected void processDuplicateBindings(boolean isUnification,
                                        PatternDescr patternDescr,
                                        Pattern pattern,
                                        BaseDescr original,
                                        String leftExpression,
                                        String rightIdentifier,
                                        RuleBuildContext context)

processAnnotations

protected void processAnnotations(RuleBuildContext context,
                                  PatternDescr patternDescr,
                                  Pattern pattern)

processMetadataAnnotations

protected void processMetadataAnnotations(Pattern pattern,
                                          Map<String,AnnotationDescr> annotationMap)

processListenedPropertiesAnnotation

protected void processListenedPropertiesAnnotation(RuleBuildContext context,
                                                   PatternDescr patternDescr,
                                                   Pattern pattern,
                                                   Map<String,AnnotationDescr> annotationMap)

getSettableProperties

protected List<String> getSettableProperties(RuleBuildContext context,
                                             PatternDescr patternDescr,
                                             Pattern pattern)

processConstraintsAndBinds

protected void processConstraintsAndBinds(RuleBuildContext context,
                                          PatternDescr patternDescr,
                                          Pattern pattern)
Process all constraints and bindings on this pattern

Parameters:
context -
patternDescr -
pattern -

processPositional

protected void processPositional(RuleBuildContext context,
                                 PatternDescr patternDescr,
                                 Pattern pattern,
                                 ExprConstraintDescr descr)

build

protected void build(RuleBuildContext context,
                     PatternDescr patternDescr,
                     Pattern pattern,
                     BaseDescr original,
                     String expr)

build

protected void build(RuleBuildContext context,
                     PatternDescr patternDescr,
                     Pattern pattern,
                     ConstraintConnectiveDescr descr,
                     MVELDumper.MVELDumperContext mvelCtx)

buildCcdDescr

protected void buildCcdDescr(RuleBuildContext context,
                             PatternDescr patternDescr,
                             Pattern pattern,
                             BaseDescr d,
                             ConstraintConnectiveDescr ccd,
                             MVELDumper.MVELDumperContext mvelCtx)

buildExpression

protected void buildExpression(RuleBuildContext context,
                               Pattern pattern,
                               BaseDescr d,
                               String expr,
                               Map<String,OperatorDescr> aliases)

buildRelationalExpression

protected void buildRelationalExpression(RuleBuildContext context,
                                         Pattern pattern,
                                         RelationalExprDescr relDescr,
                                         String expr,
                                         Map<String,OperatorDescr> aliases)

addConstraintToPattern

protected boolean addConstraintToPattern(RuleBuildContext context,
                                         Pattern pattern,
                                         RelationalExprDescr relDescr,
                                         String expr,
                                         String value1,
                                         String value2,
                                         boolean isConstant)

addConstraintToPattern

protected boolean addConstraintToPattern(RuleBuildContext context,
                                         Pattern pattern,
                                         RelationalExprDescr relDescr,
                                         String expr,
                                         String value1,
                                         String value2,
                                         boolean isConstant,
                                         InternalReadAccessor extractor)

buildLiteralRestrictionDescr

protected LiteralRestrictionDescr buildLiteralRestrictionDescr(RuleBuildContext context,
                                                               RelationalExprDescr exprDescr,
                                                               String rightValue,
                                                               String operator,
                                                               boolean isRightLiteral)

processAtomicExpression

protected boolean processAtomicExpression(RuleBuildContext context,
                                          Pattern pattern,
                                          BaseDescr d,
                                          String expr,
                                          Map<String,OperatorDescr> aliases)

isSimpleExpr

protected boolean isSimpleExpr(RelationalExprDescr relDescr)

createAndBuildPredicate

protected void createAndBuildPredicate(RuleBuildContext context,
                                       Pattern pattern,
                                       BaseDescr base,
                                       String expr,
                                       Map<String,OperatorDescr> aliases)

setInputs

protected void setInputs(RuleBuildContext context,
                         PatternBuilder.ExprBindings descrBranch,
                         Class<?> thisClass,
                         String expr)

buildRuleBindings

protected void buildRuleBindings(RuleBuildContext context,
                                 PatternDescr patternDescr,
                                 Pattern pattern,
                                 BindingDescr fieldBindingDescr)

buildEval

protected void buildEval(RuleBuildContext context,
                         Pattern pattern,
                         PredicateDescr predicateDescr,
                         Map<String,OperatorDescr> aliases,
                         String expr,
                         boolean isEvalExpression)

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

protected static Map<String,EvaluatorWrapper> buildOperators(RuleBuildContext context,
                                                             Pattern pattern,
                                                             PredicateDescr predicateDescr,
                                                             Map<String,OperatorDescr> aliases)

getDeclarationsMap

public static Map<String,Class<?>> getDeclarationsMap(BaseDescr baseDescr,
                                                      RuleBuildContext context,
                                                      boolean reportError)

getConstraintBuilder

protected static ConstraintBuilder getConstraintBuilder(RuleBuildContext context)

createImplicitBindings

public static void createImplicitBindings(RuleBuildContext context,
                                          Pattern pattern,
                                          Set<String> unboundIdentifiers,
                                          BoundIdentifiers boundIdentifiers,
                                          List<Declaration> factDeclarations)
Parameters:
context -
pattern -
unboundIdentifiers -
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

Parameters:
context -
identifier -
pattern -
Returns:

createDeclarationObject

protected static Declaration createDeclarationObject(RuleBuildContext context,
                                                     String identifier,
                                                     String expr,
                                                     Pattern pattern)

getFieldValue

protected FieldValue getFieldValue(RuleBuildContext context,
                                   ValueType vtype,
                                   LiteralRestrictionDescr literalRestrictionDescr)

registerReadAccessor

public static void registerReadAccessor(RuleBuildContext context,
                                        ObjectType objectType,
                                        String fieldName,
                                        AcceptsReadAccessor target)

getFieldReadAccessor

public static InternalReadAccessor getFieldReadAccessor(RuleBuildContext context,
                                                        BaseDescr descr,
                                                        ObjectType objectType,
                                                        String fieldName,
                                                        AcceptsReadAccessor target,
                                                        boolean reportError)

parseExpression

protected ConstraintConnectiveDescr parseExpression(RuleBuildContext context,
                                                    PatternDescr patternDescr,
                                                    BaseDescr original,
                                                    String expression)


Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.