Class MVELConstraintBuilder

  • All Implemented Interfaces:
    org.drools.compiler.rule.builder.ConstraintBuilder

    public class MVELConstraintBuilder
    extends Object
    implements org.drools.compiler.rule.builder.ConstraintBuilder
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.drools.compiler.compiler.AnalysisResult analyzeExpression​(Class<?> thisClass, String expr)  
      org.drools.core.rule.QueryArgument buildExpressionQueryArgument​(org.drools.compiler.rule.builder.RuleBuildContext context, List<org.drools.core.rule.Declaration> declarations, String expression)  
      org.drools.core.spi.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.core.base.ValueType vtype, org.drools.core.spi.FieldValue field, String expression, String leftValue, String operator, boolean negated, String rightValue, org.drools.core.spi.InternalReadAccessor extractor, org.drools.compiler.lang.descr.LiteralRestrictionDescr restrictionDescr, Map<String,​org.drools.compiler.lang.descr.OperatorDescr> aliases)  
      org.drools.core.spi.Constraint buildMvelConstraint​(String packageName, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.core.base.EvaluatorWrapper[] operators, org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.rule.Declaration[] previousDeclarations, org.drools.core.rule.Declaration[] localDeclarations, org.drools.compiler.lang.descr.PredicateDescr predicateDescr, org.drools.compiler.compiler.AnalysisResult analysis, boolean isDynamic)  
      org.drools.core.spi.InternalReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.compiler.lang.descr.BaseDescr descr, org.drools.core.rule.Pattern pattern, org.drools.core.spi.ObjectType objectType, String fieldName, boolean reportError)  
      org.drools.core.time.TimerExpression buildTimerExpression​(String expression, org.drools.compiler.rule.builder.RuleBuildContext context)  
      org.drools.core.spi.Constraint buildVariableConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.rule.Pattern pattern, String expression, org.drools.core.rule.Declaration[] declarations, String leftValue, org.drools.compiler.lang.descr.OperatorDescr operatorDescr, String rightValue, org.drools.core.spi.InternalReadAccessor extractor, org.drools.core.rule.Declaration requiredDeclaration, org.drools.compiler.lang.descr.RelationalExprDescr relDescr, Map<String,​org.drools.compiler.lang.descr.OperatorDescr> aliases)  
      org.drools.compiler.compiler.DialectConfiguration createJavaDialectConfiguration()  
      org.drools.compiler.kie.util.BeanCreator createMVELBeanCreator​(Map<String,​Object> parameters)  
      org.drools.compiler.compiler.DialectConfiguration createMVELDialectConfiguration()  
      org.drools.core.spi.Evaluator getEvaluator​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.compiler.lang.descr.BaseDescr descr, org.drools.core.base.ValueType valueType, String evaluatorString, boolean isNegated, String parameters, org.drools.core.base.evaluators.EvaluatorDefinition.Target left, org.drools.core.base.evaluators.EvaluatorDefinition.Target right)  
      org.drools.core.spi.FieldValue getMvelFieldValue​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.base.ValueType vtype, String value)  
      boolean isMvelOperator​(String operator)  
      protected static String normalizeMVELLiteralExpression​(org.drools.core.base.ValueType vtype, org.drools.core.spi.FieldValue field, String expr, String leftValue, String operator, String rightValue, boolean negated, org.drools.compiler.lang.descr.LiteralRestrictionDescr restrictionDescr)  
      protected static String normalizeMVELVariableExpression​(String expr, String leftValue, String rightValue, org.drools.compiler.lang.descr.RelationalExprDescr relDescr)  
      protected static String resolveUnificationAmbiguity​(String expr, org.drools.core.rule.Declaration[] declrations, String leftValue, String rightValue)  
      void setExprInputs​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.compiler.rule.builder.PatternBuilder.ExprBindings descrBranch, Class<?> thisClass, String expr)  
      boolean useMvelExpression()  
      org.drools.core.base.EvaluatorWrapper wrapEvaluator​(org.drools.core.spi.Evaluator evaluator, org.drools.core.rule.Declaration left, org.drools.core.rule.Declaration right)  
    • Field Detail

      • MVEL_OPERATORS

        protected static final Set<String> MVEL_OPERATORS
    • Constructor Detail

      • MVELConstraintBuilder

        public MVELConstraintBuilder()
    • Method Detail

      • createJavaDialectConfiguration

        public org.drools.compiler.compiler.DialectConfiguration createJavaDialectConfiguration()
        Specified by:
        createJavaDialectConfiguration in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • createMVELDialectConfiguration

        public org.drools.compiler.compiler.DialectConfiguration createMVELDialectConfiguration()
        Specified by:
        createMVELDialectConfiguration in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • isMvelOperator

        public boolean isMvelOperator​(String operator)
        Specified by:
        isMvelOperator in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • useMvelExpression

        public boolean useMvelExpression()
      • buildVariableConstraint

        public org.drools.core.spi.Constraint buildVariableConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                      org.drools.core.rule.Pattern pattern,
                                                                      String expression,
                                                                      org.drools.core.rule.Declaration[] declarations,
                                                                      String leftValue,
                                                                      org.drools.compiler.lang.descr.OperatorDescr operatorDescr,
                                                                      String rightValue,
                                                                      org.drools.core.spi.InternalReadAccessor extractor,
                                                                      org.drools.core.rule.Declaration requiredDeclaration,
                                                                      org.drools.compiler.lang.descr.RelationalExprDescr relDescr,
                                                                      Map<String,​org.drools.compiler.lang.descr.OperatorDescr> aliases)
        Specified by:
        buildVariableConstraint in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildMvelConstraint

        public org.drools.core.spi.Constraint buildMvelConstraint​(String packageName,
                                                                  String expression,
                                                                  org.drools.core.rule.Declaration[] declarations,
                                                                  org.drools.core.base.EvaluatorWrapper[] operators,
                                                                  org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                  org.drools.core.rule.Declaration[] previousDeclarations,
                                                                  org.drools.core.rule.Declaration[] localDeclarations,
                                                                  org.drools.compiler.lang.descr.PredicateDescr predicateDescr,
                                                                  org.drools.compiler.compiler.AnalysisResult analysis,
                                                                  boolean isDynamic)
        Specified by:
        buildMvelConstraint in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildLiteralConstraint

        public org.drools.core.spi.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                     org.drools.core.rule.Pattern pattern,
                                                                     org.drools.core.base.ValueType vtype,
                                                                     org.drools.core.spi.FieldValue field,
                                                                     String expression,
                                                                     String leftValue,
                                                                     String operator,
                                                                     boolean negated,
                                                                     String rightValue,
                                                                     org.drools.core.spi.InternalReadAccessor extractor,
                                                                     org.drools.compiler.lang.descr.LiteralRestrictionDescr restrictionDescr,
                                                                     Map<String,​org.drools.compiler.lang.descr.OperatorDescr> aliases)
        Specified by:
        buildLiteralConstraint in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • resolveUnificationAmbiguity

        protected static String resolveUnificationAmbiguity​(String expr,
                                                            org.drools.core.rule.Declaration[] declrations,
                                                            String leftValue,
                                                            String rightValue)
      • normalizeMVELLiteralExpression

        protected static String normalizeMVELLiteralExpression​(org.drools.core.base.ValueType vtype,
                                                               org.drools.core.spi.FieldValue field,
                                                               String expr,
                                                               String leftValue,
                                                               String operator,
                                                               String rightValue,
                                                               boolean negated,
                                                               org.drools.compiler.lang.descr.LiteralRestrictionDescr restrictionDescr)
      • normalizeMVELVariableExpression

        protected static String normalizeMVELVariableExpression​(String expr,
                                                                String leftValue,
                                                                String rightValue,
                                                                org.drools.compiler.lang.descr.RelationalExprDescr relDescr)
      • getEvaluator

        public org.drools.core.spi.Evaluator getEvaluator​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                          org.drools.compiler.lang.descr.BaseDescr descr,
                                                          org.drools.core.base.ValueType valueType,
                                                          String evaluatorString,
                                                          boolean isNegated,
                                                          String parameters,
                                                          org.drools.core.base.evaluators.EvaluatorDefinition.Target left,
                                                          org.drools.core.base.evaluators.EvaluatorDefinition.Target right)
        Specified by:
        getEvaluator in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • wrapEvaluator

        public org.drools.core.base.EvaluatorWrapper wrapEvaluator​(org.drools.core.spi.Evaluator evaluator,
                                                                   org.drools.core.rule.Declaration left,
                                                                   org.drools.core.rule.Declaration right)
        Specified by:
        wrapEvaluator in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildTimerExpression

        public org.drools.core.time.TimerExpression buildTimerExpression​(String expression,
                                                                         org.drools.compiler.rule.builder.RuleBuildContext context)
        Specified by:
        buildTimerExpression in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • analyzeExpression

        public org.drools.compiler.compiler.AnalysisResult analyzeExpression​(Class<?> thisClass,
                                                                             String expr)
        Specified by:
        analyzeExpression in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildMvelFieldReadAccessor

        public org.drools.core.spi.InternalReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                                   org.drools.compiler.lang.descr.BaseDescr descr,
                                                                                   org.drools.core.rule.Pattern pattern,
                                                                                   org.drools.core.spi.ObjectType objectType,
                                                                                   String fieldName,
                                                                                   boolean reportError)
        Specified by:
        buildMvelFieldReadAccessor in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • setExprInputs

        public void setExprInputs​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                  org.drools.compiler.rule.builder.PatternBuilder.ExprBindings descrBranch,
                                  Class<?> thisClass,
                                  String expr)
        Specified by:
        setExprInputs in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • getMvelFieldValue

        public org.drools.core.spi.FieldValue getMvelFieldValue​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                org.drools.core.base.ValueType vtype,
                                                                String value)
        Specified by:
        getMvelFieldValue in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildExpressionQueryArgument

        public org.drools.core.rule.QueryArgument buildExpressionQueryArgument​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                               List<org.drools.core.rule.Declaration> declarations,
                                                                               String expression)
        Specified by:
        buildExpressionQueryArgument in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • createMVELBeanCreator

        public org.drools.compiler.kie.util.BeanCreator createMVELBeanCreator​(Map<String,​Object> parameters)
        Specified by:
        createMVELBeanCreator in interface org.drools.compiler.rule.builder.ConstraintBuilder