Class PatternBuilder

    • Constructor Summary

      Constructors 
      Constructor Description
      PatternBuilder()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.drools.base.rule.RuleConditionElement build​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr descr)  
      org.drools.base.rule.RuleConditionElement build​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Pattern prefixPattern)
      Build a pattern for the given descriptor in the current context and using the given utils object
      static AnalysisResult buildAnalysis​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.PredicateDescr predicateDescr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected org.drools.base.rule.constraint.Constraint buildConstraintForPattern​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, java.lang.String expr, java.lang.String value1, java.lang.String value2, boolean isConstant, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected org.drools.base.rule.constraint.Constraint buildEval​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.PredicateDescr predicateDescr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases, java.lang.String expr, boolean isEvalExpression)  
      protected org.drools.drl.ast.descr.LiteralRestrictionDescr buildLiteralRestrictionDescr​(RuleBuildContext context, org.drools.drl.ast.descr.RelationalExprDescr exprDescr, java.lang.String rightValue, boolean isRightLiteral)  
      static java.util.Map<java.lang.String,​EvaluatorWrapper> buildOperators​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr predicateDescr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected org.drools.base.rule.constraint.Constraint buildRelationalExpression​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.RelationalExprDescr relDescr, java.lang.String expr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected void buildRuleBindings​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Declaration xpathStartDeclaration, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr)  
      protected void buildRuleBindings​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Declaration xpathStartDeclaration, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.BindingDescr fieldBindingDescr, org.drools.base.rule.TypeDeclaration typeDeclaration)  
      protected org.drools.base.rule.constraint.Constraint createAndBuildPredicate​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr base, java.lang.String expr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected static org.drools.base.rule.Declaration createDeclarationObject​(RuleBuildContext context, java.lang.String identifier, java.lang.String expr, org.drools.base.rule.Pattern pattern)  
      protected static org.drools.base.rule.Declaration createDeclarationObject​(RuleBuildContext context, java.lang.String identifier, org.drools.base.rule.Pattern pattern)
      Creates a declaration object for the field identified by the given identifier on the give pattern object
      static void createImplicitBindings​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, java.util.Set<java.lang.String> unboundIdentifiers, BoundIdentifiers boundIdentifiers, java.util.List<org.drools.base.rule.Declaration> factDeclarations)  
      static org.drools.base.rule.accessor.ReadAccessor getFieldReadAccessor​(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.base.rule.Pattern pattern, java.lang.String fieldName, org.drools.base.rule.accessor.AcceptsReadAccessor target, boolean reportError)  
      static org.drools.base.rule.accessor.ReadAccessor getFieldReadAccessor​(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.base.rule.Pattern pattern, org.drools.base.base.ObjectType objectType, java.lang.String fieldName, org.drools.base.rule.accessor.AcceptsReadAccessor target, boolean reportError)  
      static EvaluatorWrapper[] getOperators​(java.util.Map<java.lang.String,​EvaluatorWrapper> operatorMap)  
      protected java.util.Collection<java.lang.String> getSettableProperties​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Pattern pattern)  
      static org.drools.base.rule.Declaration[][] getUsedDeclarations​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, AnalysisResult analysis)  
      boolean isInternalFact​(org.drools.drl.ast.descr.PatternDescr patternDescr, RuleBuildContext context)  
      protected boolean isSimpleExpr​(org.drools.drl.ast.descr.RelationalExprDescr relDescr)  
      static java.util.Collection<java.lang.String> lookAheadFieldsOfIdentifier​(org.drools.drl.ast.descr.RuleDescr ruleDescr, org.drools.drl.ast.descr.PatternDescr patternDescr)  
      protected org.drools.drl.ast.descr.ConstraintConnectiveDescr parseExpression​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.drl.ast.descr.BaseDescr original, java.lang.String expression)  
      protected void processAnnotations​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Pattern pattern)  
      protected org.drools.base.rule.constraint.Constraint processAtomicExpression​(RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.drl.ast.descr.BaseDescr d, java.lang.String expr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      protected void processListenedPropertiesAnnotation​(RuleBuildContext context, org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Pattern pattern)  
      protected void processMetadataAnnotations​(org.drools.drl.ast.descr.PatternDescr patternDescr, org.drools.base.rule.Pattern pattern, org.drools.util.TypeResolver typeResolver)  
      static void registerDescrBuildError​(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, java.lang.Object object, java.lang.String error)  
      static void registerDescrBuildError​(RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr patternDescr, java.lang.String error)  
      static void registerReadAccessor​(RuleBuildContext context, org.drools.base.base.ObjectType objectType, java.lang.String fieldName, org.drools.base.rule.accessor.AcceptsReadAccessor target)  
      • 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 org.drools.base.rule.RuleConditionElement build​(RuleBuildContext context,
                                                               org.drools.drl.ast.descr.PatternDescr descr)
        Specified by:
        build in interface RuleConditionBuilder<org.drools.drl.ast.descr.PatternDescr>
      • build

        public org.drools.base.rule.RuleConditionElement build​(RuleBuildContext context,
                                                               org.drools.drl.ast.descr.PatternDescr patternDescr,
                                                               org.drools.base.rule.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<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.base.rule.Pattern pattern)
      • processMetadataAnnotations

        protected void processMetadataAnnotations​(org.drools.drl.ast.descr.PatternDescr patternDescr,
                                                  org.drools.base.rule.Pattern pattern,
                                                  org.drools.util.TypeResolver typeResolver)
      • processListenedPropertiesAnnotation

        protected void processListenedPropertiesAnnotation​(RuleBuildContext context,
                                                           org.drools.drl.ast.descr.PatternDescr patternDescr,
                                                           org.drools.base.rule.Pattern pattern)
      • getSettableProperties

        protected java.util.Collection<java.lang.String> getSettableProperties​(RuleBuildContext context,
                                                                               org.drools.drl.ast.descr.PatternDescr patternDescr,
                                                                               org.drools.base.rule.Pattern pattern)
      • lookAheadFieldsOfIdentifier

        public static java.util.Collection<java.lang.String> lookAheadFieldsOfIdentifier​(org.drools.drl.ast.descr.RuleDescr ruleDescr,
                                                                                         org.drools.drl.ast.descr.PatternDescr patternDescr)
      • buildRelationalExpression

        protected org.drools.base.rule.constraint.Constraint buildRelationalExpression​(RuleBuildContext context,
                                                                                       org.drools.base.rule.Pattern pattern,
                                                                                       org.drools.drl.ast.descr.RelationalExprDescr relDescr,
                                                                                       java.lang.String expr,
                                                                                       java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
      • buildConstraintForPattern

        protected org.drools.base.rule.constraint.Constraint buildConstraintForPattern​(RuleBuildContext context,
                                                                                       org.drools.base.rule.Pattern pattern,
                                                                                       org.drools.drl.ast.descr.RelationalExprDescr relDescr,
                                                                                       java.lang.String expr,
                                                                                       java.lang.String value1,
                                                                                       java.lang.String value2,
                                                                                       boolean isConstant,
                                                                                       java.util.Map<java.lang.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,
                                                                                                java.lang.String rightValue,
                                                                                                boolean isRightLiteral)
      • processAtomicExpression

        protected org.drools.base.rule.constraint.Constraint processAtomicExpression​(RuleBuildContext context,
                                                                                     org.drools.base.rule.Pattern pattern,
                                                                                     org.drools.drl.ast.descr.BaseDescr d,
                                                                                     java.lang.String expr,
                                                                                     java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
      • isSimpleExpr

        protected boolean isSimpleExpr​(org.drools.drl.ast.descr.RelationalExprDescr relDescr)
      • createAndBuildPredicate

        protected org.drools.base.rule.constraint.Constraint createAndBuildPredicate​(RuleBuildContext context,
                                                                                     org.drools.base.rule.Pattern pattern,
                                                                                     org.drools.drl.ast.descr.BaseDescr base,
                                                                                     java.lang.String expr,
                                                                                     java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
      • buildRuleBindings

        protected void buildRuleBindings​(RuleBuildContext context,
                                         org.drools.drl.ast.descr.PatternDescr patternDescr,
                                         org.drools.base.rule.Declaration xpathStartDeclaration,
                                         org.drools.base.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.base.rule.Declaration xpathStartDeclaration,
                                         org.drools.base.rule.Pattern pattern,
                                         org.drools.drl.ast.descr.BindingDescr fieldBindingDescr,
                                         org.drools.base.rule.TypeDeclaration typeDeclaration)
      • buildEval

        protected org.drools.base.rule.constraint.Constraint buildEval​(RuleBuildContext context,
                                                                       org.drools.base.rule.Pattern pattern,
                                                                       org.drools.drl.ast.descr.PredicateDescr predicateDescr,
                                                                       java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases,
                                                                       java.lang.String expr,
                                                                       boolean isEvalExpression)
      • getUsedDeclarations

        public static org.drools.base.rule.Declaration[][] getUsedDeclarations​(RuleBuildContext context,
                                                                               org.drools.base.rule.Pattern pattern,
                                                                               AnalysisResult analysis)
      • buildAnalysis

        public static AnalysisResult buildAnalysis​(RuleBuildContext context,
                                                   org.drools.base.rule.Pattern pattern,
                                                   org.drools.drl.ast.descr.PredicateDescr predicateDescr,
                                                   java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
      • buildOperators

        public static java.util.Map<java.lang.String,​EvaluatorWrapper> buildOperators​(RuleBuildContext context,
                                                                                            org.drools.base.rule.Pattern pattern,
                                                                                            org.drools.drl.ast.descr.BaseDescr predicateDescr,
                                                                                            java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
      • createImplicitBindings

        public static void createImplicitBindings​(RuleBuildContext context,
                                                  org.drools.base.rule.Pattern pattern,
                                                  java.util.Set<java.lang.String> unboundIdentifiers,
                                                  BoundIdentifiers boundIdentifiers,
                                                  java.util.List<org.drools.base.rule.Declaration> factDeclarations)
      • createDeclarationObject

        protected static org.drools.base.rule.Declaration createDeclarationObject​(RuleBuildContext context,
                                                                                  java.lang.String identifier,
                                                                                  org.drools.base.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.base.rule.Declaration createDeclarationObject​(RuleBuildContext context,
                                                                                  java.lang.String identifier,
                                                                                  java.lang.String expr,
                                                                                  org.drools.base.rule.Pattern pattern)
      • registerReadAccessor

        public static void registerReadAccessor​(RuleBuildContext context,
                                                org.drools.base.base.ObjectType objectType,
                                                java.lang.String fieldName,
                                                org.drools.base.rule.accessor.AcceptsReadAccessor target)
      • getFieldReadAccessor

        public static org.drools.base.rule.accessor.ReadAccessor getFieldReadAccessor​(RuleBuildContext context,
                                                                                      org.drools.drl.ast.descr.BaseDescr descr,
                                                                                      org.drools.base.rule.Pattern pattern,
                                                                                      java.lang.String fieldName,
                                                                                      org.drools.base.rule.accessor.AcceptsReadAccessor target,
                                                                                      boolean reportError)
      • getFieldReadAccessor

        public static org.drools.base.rule.accessor.ReadAccessor getFieldReadAccessor​(RuleBuildContext context,
                                                                                      org.drools.drl.ast.descr.BaseDescr descr,
                                                                                      org.drools.base.rule.Pattern pattern,
                                                                                      org.drools.base.base.ObjectType objectType,
                                                                                      java.lang.String fieldName,
                                                                                      org.drools.base.rule.accessor.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,
                                                                                     java.lang.String expression)
      • registerDescrBuildError

        public static void registerDescrBuildError​(RuleBuildContext context,
                                                   org.drools.drl.ast.descr.BaseDescr patternDescr,
                                                   java.lang.String error)
      • registerDescrBuildError

        public static void registerDescrBuildError​(RuleBuildContext context,
                                                   org.drools.drl.ast.descr.BaseDescr patternDescr,
                                                   java.lang.Object object,
                                                   java.lang.String error)