org.drools.rule.builder
Class MVELConstraintBuilder

java.lang.Object
  extended by org.drools.rule.builder.MVELConstraintBuilder
All Implemented Interfaces:
ConstraintBuilder

public class MVELConstraintBuilder
extends Object
implements ConstraintBuilder


Nested Class Summary
static class MVELConstraintBuilder.BooleanConversionHandler
           
static class MVELConstraintBuilder.StringCoercionCompatibilityEvaluator
           
 
Field Summary
protected static Set<String> mvelOperators
           
static boolean USE_MVEL_EXPRESSION
           
 
Constructor Summary
MVELConstraintBuilder()
           
 
Method Summary
 MVELCompilationUnit buildCompilationUnit(RuleBuildContext context, Declaration[] previousDeclarations, Declaration[] localDeclarations, PredicateDescr predicateDescr, AnalysisResult analysis)
           
 MVELCompilationUnit buildCompilationUnit(RuleBuildContext context, Pattern pattern, String expression, Map<String,OperatorDescr> aliases)
           
 Constraint buildLiteralConstraint(RuleBuildContext context, Pattern pattern, ValueType vtype, FieldValue field, String expression, String leftValue, String operator, String rightValue, InternalReadAccessor extractor, LiteralRestrictionDescr restrictionDescr)
           
 Evaluator buildLiteralEvaluator(RuleBuildContext context, InternalReadAccessor extractor, LiteralRestrictionDescr literalRestrictionDescr, ValueType vtype)
           
 Constraint buildMvelConstraint(String packageName, String expression, Declaration[] declarations, MVELCompilationUnit compilationUnit, boolean isDynamic)
           
 Constraint buildMvelConstraint(String packageName, String expression, Declaration[] declarations, MVELCompilationUnit compilationUnit, boolean isDynamic, PredicateDescr base)
           
 Constraint buildMvelConstraint(String packageName, String expression, Declaration[] declarations, MVELCompilationUnit compilationUnit, IndexUtil.ConstraintType constraintType, Declaration indexingDeclaration, InternalReadAccessor extractor, boolean isUnification)
           
 Constraint buildVariableConstraint(RuleBuildContext context, Pattern pattern, String expression, Declaration[] declarations, String leftValue, OperatorDescr operatorDescr, String rightValue, InternalReadAccessor extractor, Declaration requiredDeclaration, RelationalExprDescr relDescr)
           
 Evaluator getEvaluator(RuleBuildContext context, BaseDescr descr, ValueType valueType, String evaluatorString, boolean isNegated, String parameters, EvaluatorDefinition.Target left, EvaluatorDefinition.Target right)
           
protected static Declaration getIndexingDeclaration(Restriction restriction)
           
 EvaluatorDefinition.Target getRightTarget(InternalReadAccessor extractor)
           
 boolean isMvelOperator(String operator)
           
protected static String normalizeMVELLiteralExpression(ValueType vtype, FieldValue field, String expr, String leftValue, String operator, String rightValue, LiteralRestrictionDescr restrictionDescr)
           
protected static String resolveUnificationAmbiguity(String expr, Declaration[] declrations, String leftValue, String rightValue)
           
 boolean useMvelExpression()
           
 EvaluatorWrapper wrapEvaluator(Evaluator evaluator, Declaration left, Declaration right)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USE_MVEL_EXPRESSION

public static final boolean USE_MVEL_EXPRESSION
See Also:
Constant Field Values

mvelOperators

protected static Set<String> mvelOperators
Constructor Detail

MVELConstraintBuilder

public MVELConstraintBuilder()
Method Detail

isMvelOperator

public boolean isMvelOperator(String operator)
Specified by:
isMvelOperator in interface ConstraintBuilder

useMvelExpression

public boolean useMvelExpression()

buildVariableConstraint

public Constraint buildVariableConstraint(RuleBuildContext context,
                                          Pattern pattern,
                                          String expression,
                                          Declaration[] declarations,
                                          String leftValue,
                                          OperatorDescr operatorDescr,
                                          String rightValue,
                                          InternalReadAccessor extractor,
                                          Declaration requiredDeclaration,
                                          RelationalExprDescr relDescr)
Specified by:
buildVariableConstraint in interface ConstraintBuilder

buildMvelConstraint

public Constraint buildMvelConstraint(String packageName,
                                      String expression,
                                      Declaration[] declarations,
                                      MVELCompilationUnit compilationUnit,
                                      boolean isDynamic)
Specified by:
buildMvelConstraint in interface ConstraintBuilder

buildMvelConstraint

public Constraint buildMvelConstraint(String packageName,
                                      String expression,
                                      Declaration[] declarations,
                                      MVELCompilationUnit compilationUnit,
                                      boolean isDynamic,
                                      PredicateDescr base)

buildMvelConstraint

public Constraint buildMvelConstraint(String packageName,
                                      String expression,
                                      Declaration[] declarations,
                                      MVELCompilationUnit compilationUnit,
                                      IndexUtil.ConstraintType constraintType,
                                      Declaration indexingDeclaration,
                                      InternalReadAccessor extractor,
                                      boolean isUnification)
Specified by:
buildMvelConstraint in interface ConstraintBuilder

buildLiteralConstraint

public Constraint buildLiteralConstraint(RuleBuildContext context,
                                         Pattern pattern,
                                         ValueType vtype,
                                         FieldValue field,
                                         String expression,
                                         String leftValue,
                                         String operator,
                                         String rightValue,
                                         InternalReadAccessor extractor,
                                         LiteralRestrictionDescr restrictionDescr)
Specified by:
buildLiteralConstraint in interface ConstraintBuilder

resolveUnificationAmbiguity

protected static String resolveUnificationAmbiguity(String expr,
                                                    Declaration[] declrations,
                                                    String leftValue,
                                                    String rightValue)

normalizeMVELLiteralExpression

protected static String normalizeMVELLiteralExpression(ValueType vtype,
                                                       FieldValue field,
                                                       String expr,
                                                       String leftValue,
                                                       String operator,
                                                       String rightValue,
                                                       LiteralRestrictionDescr restrictionDescr)

getIndexingDeclaration

protected static Declaration getIndexingDeclaration(Restriction restriction)

buildLiteralEvaluator

public Evaluator buildLiteralEvaluator(RuleBuildContext context,
                                       InternalReadAccessor extractor,
                                       LiteralRestrictionDescr literalRestrictionDescr,
                                       ValueType vtype)
Specified by:
buildLiteralEvaluator in interface ConstraintBuilder

getRightTarget

public EvaluatorDefinition.Target getRightTarget(InternalReadAccessor extractor)
Specified by:
getRightTarget in interface ConstraintBuilder

getEvaluator

public Evaluator getEvaluator(RuleBuildContext context,
                              BaseDescr descr,
                              ValueType valueType,
                              String evaluatorString,
                              boolean isNegated,
                              String parameters,
                              EvaluatorDefinition.Target left,
                              EvaluatorDefinition.Target right)
Specified by:
getEvaluator in interface ConstraintBuilder

wrapEvaluator

public EvaluatorWrapper wrapEvaluator(Evaluator evaluator,
                                      Declaration left,
                                      Declaration right)
Specified by:
wrapEvaluator in interface ConstraintBuilder

buildCompilationUnit

public MVELCompilationUnit buildCompilationUnit(RuleBuildContext context,
                                                Pattern pattern,
                                                String expression,
                                                Map<String,OperatorDescr> aliases)
Specified by:
buildCompilationUnit in interface ConstraintBuilder

buildCompilationUnit

public MVELCompilationUnit buildCompilationUnit(RuleBuildContext context,
                                                Declaration[] previousDeclarations,
                                                Declaration[] localDeclarations,
                                                PredicateDescr predicateDescr,
                                                AnalysisResult analysis)
Specified by:
buildCompilationUnit in interface ConstraintBuilder


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