Class MVELConstraintBuilder

  • All Implemented Interfaces:
    Comparable<org.kie.api.internal.utils.KieService>, org.drools.compiler.rule.builder.ConstraintBuilder, org.kie.api.internal.utils.KieService

    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.rule.constraint.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.rule.Pattern pattern, org.drools.core.base.ValueType vtype, org.drools.core.rule.accessor.FieldValue field, String expression, String leftValue, String operator, boolean negated, String rightValue, org.drools.core.rule.accessor.ReadAccessor extractor, org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr, Map<String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      org.drools.core.rule.constraint.Constraint buildMvelConstraint​(String packageName, String expression, org.drools.core.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.core.rule.Declaration[] previousDeclarations, org.drools.core.rule.Declaration[] localDeclarations, org.drools.drl.ast.descr.PredicateDescr predicateDescr, org.drools.compiler.compiler.AnalysisResult analysis, boolean isDynamic)  
      org.drools.core.rule.accessor.ReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.core.rule.Pattern pattern, org.drools.core.base.ObjectType objectType, String fieldName, boolean reportError)  
      org.drools.core.time.TimerExpression buildTimerExpression​(String expression, org.drools.compiler.rule.builder.RuleBuildContext context)  
      org.drools.core.rule.constraint.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.drl.ast.descr.OperatorDescr operatorDescr, String rightValue, org.drools.core.rule.accessor.ReadAccessor extractor, org.drools.core.rule.Declaration requiredDeclaration, org.drools.drl.ast.descr.RelationalExprDescr relDescr, Map<String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      org.drools.compiler.compiler.DialectConfiguration createJavaDialectConfiguration​(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl conf)  
      org.drools.compiler.kie.util.BeanCreator createMVELBeanCreator​(Map<String,​Object> parameters)  
      org.drools.compiler.compiler.DialectConfiguration createMVELDialectConfiguration​(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl conf)  
      org.drools.core.rule.accessor.Evaluator getEvaluator​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.core.base.ValueType valueType, String evaluatorString, boolean isNegated, String parameters, org.drools.compiler.rule.builder.EvaluatorDefinition.Target left, org.drools.compiler.rule.builder.EvaluatorDefinition.Target right)  
      List<org.drools.compiler.rule.builder.EvaluatorDefinition> getEvaluatorDefinitions()  
      org.drools.core.rule.accessor.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.rule.accessor.FieldValue field, String expr, String leftValue, String operator, String rightValue, boolean negated, org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr)  
      protected static String normalizeMVELVariableExpression​(String expr, String leftValue, String rightValue, org.drools.drl.ast.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.compiler.rule.builder.EvaluatorWrapper wrapEvaluator​(org.drools.core.rule.accessor.Evaluator evaluator, org.drools.core.rule.Declaration left, org.drools.core.rule.Declaration right)  
      • Methods inherited from interface org.kie.api.internal.utils.KieService

        compareTo, servicePriority
    • 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​(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl conf)
        Specified by:
        createJavaDialectConfiguration in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • createMVELDialectConfiguration

        public org.drools.compiler.compiler.DialectConfiguration createMVELDialectConfiguration​(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl conf)
        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.rule.constraint.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.drl.ast.descr.OperatorDescr operatorDescr,
                                                                                  String rightValue,
                                                                                  org.drools.core.rule.accessor.ReadAccessor extractor,
                                                                                  org.drools.core.rule.Declaration requiredDeclaration,
                                                                                  org.drools.drl.ast.descr.RelationalExprDescr relDescr,
                                                                                  Map<String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
        Specified by:
        buildVariableConstraint in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildMvelConstraint

        public org.drools.core.rule.constraint.Constraint buildMvelConstraint​(String packageName,
                                                                              String expression,
                                                                              org.drools.core.rule.Declaration[] declarations,
                                                                              org.drools.compiler.rule.builder.EvaluatorWrapper[] operators,
                                                                              org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                              org.drools.core.rule.Declaration[] previousDeclarations,
                                                                              org.drools.core.rule.Declaration[] localDeclarations,
                                                                              org.drools.drl.ast.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.rule.constraint.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                                 org.drools.core.rule.Pattern pattern,
                                                                                 org.drools.core.base.ValueType vtype,
                                                                                 org.drools.core.rule.accessor.FieldValue field,
                                                                                 String expression,
                                                                                 String leftValue,
                                                                                 String operator,
                                                                                 boolean negated,
                                                                                 String rightValue,
                                                                                 org.drools.core.rule.accessor.ReadAccessor extractor,
                                                                                 org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr,
                                                                                 Map<String,​org.drools.drl.ast.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.rule.accessor.FieldValue field,
                                                               String expr,
                                                               String leftValue,
                                                               String operator,
                                                               String rightValue,
                                                               boolean negated,
                                                               org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr)
      • normalizeMVELVariableExpression

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

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

        public org.drools.compiler.rule.builder.EvaluatorWrapper wrapEvaluator​(org.drools.core.rule.accessor.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.rule.accessor.ReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                                     org.drools.drl.ast.descr.BaseDescr descr,
                                                                                     org.drools.core.rule.Pattern pattern,
                                                                                     org.drools.core.base.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.rule.accessor.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
      • getEvaluatorDefinitions

        public List<org.drools.compiler.rule.builder.EvaluatorDefinition> getEvaluatorDefinitions()
        Specified by:
        getEvaluatorDefinitions in interface org.drools.compiler.rule.builder.ConstraintBuilder