Class MVELConstraintBuilder

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

    public class MVELConstraintBuilder
    extends java.lang.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​(java.lang.Class<?> thisClass, java.lang.String expr)  
      org.drools.base.rule.QueryArgument buildExpressionQueryArgument​(org.drools.compiler.rule.builder.RuleBuildContext context, java.util.List<org.drools.base.rule.Declaration> declarations, java.lang.String expression)  
      org.drools.base.rule.constraint.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.base.rule.Pattern pattern, org.drools.base.base.ValueType vtype, org.drools.base.rule.accessor.FieldValue field, java.lang.String expression, java.lang.String leftValue, java.lang.String operator, boolean negated, java.lang.String rightValue, org.drools.base.rule.accessor.ReadAccessor extractor, org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr, java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)  
      org.drools.base.rule.constraint.Constraint buildMvelConstraint​(java.lang.String packageName, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, org.drools.compiler.rule.builder.EvaluatorWrapper[] operators, org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.base.rule.Declaration[] previousDeclarations, org.drools.base.rule.Declaration[] localDeclarations, org.drools.drl.ast.descr.PredicateDescr predicateDescr, org.drools.compiler.compiler.AnalysisResult analysis, boolean isDynamic)  
      org.drools.base.rule.accessor.ReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.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, boolean reportError)  
      org.drools.core.time.TimerExpression buildTimerExpression​(java.lang.String expression, org.drools.compiler.rule.builder.RuleBuildContext context)  
      org.drools.base.rule.constraint.Constraint buildVariableConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.base.rule.Pattern pattern, java.lang.String expression, org.drools.base.rule.Declaration[] declarations, java.lang.String leftValue, org.drools.drl.ast.descr.OperatorDescr operatorDescr, java.lang.String rightValue, org.drools.base.rule.accessor.ReadAccessor extractor, org.drools.base.rule.Declaration requiredDeclaration, org.drools.drl.ast.descr.RelationalExprDescr relDescr, java.util.Map<java.lang.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​(java.util.Map<java.lang.String,​java.lang.Object> parameters)  
      org.drools.compiler.compiler.DialectConfiguration createMVELDialectConfiguration​(org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl conf)  
      org.drools.base.rule.accessor.Evaluator getEvaluator​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.drl.ast.descr.BaseDescr descr, org.drools.base.base.ValueType valueType, java.lang.String evaluatorString, boolean isNegated, java.lang.String parameters, org.drools.compiler.rule.builder.EvaluatorDefinition.Target left, org.drools.compiler.rule.builder.EvaluatorDefinition.Target right)  
      java.util.List<org.drools.compiler.rule.builder.EvaluatorDefinition> getEvaluatorDefinitions()  
      org.drools.base.rule.accessor.FieldValue getMvelFieldValue​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.base.base.ValueType vtype, java.lang.String value)  
      boolean isMvelOperator​(java.lang.String operator)  
      protected static java.lang.String normalizeMVELLiteralExpression​(org.drools.base.base.ValueType vtype, org.drools.base.rule.accessor.FieldValue field, java.lang.String expr, java.lang.String leftValue, java.lang.String operator, java.lang.String rightValue, boolean negated, org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr)  
      protected static java.lang.String normalizeMVELVariableExpression​(java.lang.String expr, java.lang.String leftValue, java.lang.String rightValue, org.drools.drl.ast.descr.RelationalExprDescr relDescr)  
      void setExprInputs​(org.drools.compiler.rule.builder.RuleBuildContext context, org.drools.compiler.rule.builder.PatternBuilder.ExprBindings descrBranch, java.lang.Class<?> thisClass, java.lang.String expr)  
      boolean useMvelExpression()  
      org.drools.compiler.rule.builder.EvaluatorWrapper wrapEvaluator​(org.drools.base.rule.accessor.Evaluator evaluator, org.drools.base.rule.Declaration left, org.drools.base.rule.Declaration right)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.kie.api.internal.utils.KieService

        compareTo, servicePriority
    • Field Detail

      • MVEL_OPERATORS

        protected static final java.util.Set<java.lang.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​(java.lang.String operator)
        Specified by:
        isMvelOperator in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • useMvelExpression

        public boolean useMvelExpression()
      • buildVariableConstraint

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

        public org.drools.base.rule.constraint.Constraint buildMvelConstraint​(java.lang.String packageName,
                                                                              java.lang.String expression,
                                                                              org.drools.base.rule.Declaration[] declarations,
                                                                              org.drools.compiler.rule.builder.EvaluatorWrapper[] operators,
                                                                              org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                              org.drools.base.rule.Declaration[] previousDeclarations,
                                                                              org.drools.base.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.base.rule.constraint.Constraint buildLiteralConstraint​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                                 org.drools.base.rule.Pattern pattern,
                                                                                 org.drools.base.base.ValueType vtype,
                                                                                 org.drools.base.rule.accessor.FieldValue field,
                                                                                 java.lang.String expression,
                                                                                 java.lang.String leftValue,
                                                                                 java.lang.String operator,
                                                                                 boolean negated,
                                                                                 java.lang.String rightValue,
                                                                                 org.drools.base.rule.accessor.ReadAccessor extractor,
                                                                                 org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr,
                                                                                 java.util.Map<java.lang.String,​org.drools.drl.ast.descr.OperatorDescr> aliases)
        Specified by:
        buildLiteralConstraint in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • normalizeMVELLiteralExpression

        protected static java.lang.String normalizeMVELLiteralExpression​(org.drools.base.base.ValueType vtype,
                                                                         org.drools.base.rule.accessor.FieldValue field,
                                                                         java.lang.String expr,
                                                                         java.lang.String leftValue,
                                                                         java.lang.String operator,
                                                                         java.lang.String rightValue,
                                                                         boolean negated,
                                                                         org.drools.drl.ast.descr.LiteralRestrictionDescr restrictionDescr)
      • normalizeMVELVariableExpression

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

        public org.drools.base.rule.accessor.Evaluator getEvaluator​(org.drools.compiler.rule.builder.RuleBuildContext context,
                                                                    org.drools.drl.ast.descr.BaseDescr descr,
                                                                    org.drools.base.base.ValueType valueType,
                                                                    java.lang.String evaluatorString,
                                                                    boolean isNegated,
                                                                    java.lang.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.base.rule.accessor.Evaluator evaluator,
                                                                               org.drools.base.rule.Declaration left,
                                                                               org.drools.base.rule.Declaration right)
        Specified by:
        wrapEvaluator in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildTimerExpression

        public org.drools.core.time.TimerExpression buildTimerExpression​(java.lang.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​(java.lang.Class<?> thisClass,
                                                                             java.lang.String expr)
        Specified by:
        analyzeExpression in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • buildMvelFieldReadAccessor

        public org.drools.base.rule.accessor.ReadAccessor buildMvelFieldReadAccessor​(org.drools.compiler.rule.builder.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,
                                                                                     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,
                                  java.lang.Class<?> thisClass,
                                  java.lang.String expr)
        Specified by:
        setExprInputs in interface org.drools.compiler.rule.builder.ConstraintBuilder
      • getMvelFieldValue

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

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

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

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