Class DrlxParseUtil


  • public class DrlxParseUtil
    extends Object
    • Method Detail

      • isThisExpression

        public static boolean isThisExpression​(com.github.javaparser.ast.Node expr)
      • toConstraintType

        public static org.drools.model.Index.ConstraintType toConstraintType​(com.github.javaparser.ast.expr.BinaryExpr.Operator operator)
      • nameExprToMethodCallExpr

        public static TypedExpression nameExprToMethodCallExpr​(String name,
                                                               Type type,
                                                               com.github.javaparser.ast.expr.Expression scope,
                                                               RuleContext context)
      • returnTypeOfMethodCallExpr

        public static Type returnTypeOfMethodCallExpr​(RuleContext context,
                                                      org.drools.core.addon.TypeResolver typeResolver,
                                                      com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr,
                                                      Type clazz,
                                                      Collection<String> usedDeclarations)
      • getExpressionType

        public static Type getExpressionType​(RuleContext context,
                                             org.drools.core.addon.TypeResolver typeResolver,
                                             com.github.javaparser.ast.expr.Expression expr,
                                             Collection<String> usedDeclarations)
      • canCoerceLiteralNumberExpr

        public static boolean canCoerceLiteralNumberExpr​(Class<?> type)
      • getLiteralExpressionType

        public static Class<?> getLiteralExpressionType​(com.github.javaparser.ast.expr.LiteralExpr expr)
      • prepend

        public static com.github.javaparser.ast.expr.Expression prepend​(com.github.javaparser.ast.expr.Expression scope,
                                                                        com.github.javaparser.ast.expr.Expression expr)
      • findRootNodeViaParent

        public static Optional<com.github.javaparser.ast.Node> findRootNodeViaParent​(com.github.javaparser.ast.Node expr)
      • replaceAllHalfBinaryChildren

        public static com.github.javaparser.ast.Node replaceAllHalfBinaryChildren​(com.github.javaparser.ast.Node parent)
      • trasformHalfBinaryToBinary

        public static com.github.javaparser.ast.expr.Expression trasformHalfBinaryToBinary​(com.github.javaparser.ast.expr.Expression drlxExpr)
      • findLastMethodInChain

        public static com.github.javaparser.ast.expr.MethodCallExpr findLastMethodInChain​(com.github.javaparser.ast.expr.MethodCallExpr expr)
      • findRootNodeViaScope

        public static Optional<com.github.javaparser.ast.expr.Expression> findRootNodeViaScope​(com.github.javaparser.ast.expr.Expression expr)
      • parseBlock

        public static com.github.javaparser.ast.stmt.BlockStmt parseBlock​(String ruleConsequenceAsBlock)
      • generateLambdaWithoutParameters

        public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters​(Collection<String> usedDeclarations,
                                                                                                com.github.javaparser.ast.expr.Expression expr)
      • generateLambdaWithoutParameters

        public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters​(com.github.javaparser.ast.expr.Expression expr)
      • generateLambdaWithoutParameters

        public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters​(Collection<String> usedDeclarations,
                                                                                                com.github.javaparser.ast.expr.Expression expr,
                                                                                                boolean skipFirstParamAsThis,
                                                                                                Optional<Class<?>> patternClass)
      • generateLambdaWithoutParameters

        public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters​(Collection<String> usedDeclarations,
                                                                                                com.github.javaparser.ast.expr.Expression expr,
                                                                                                boolean skipFirstParamAsThis,
                                                                                                Optional<Class<?>> patternClass,
                                                                                                RuleContext ruleContext)
      • createSimpleAnnotation

        public static com.github.javaparser.ast.expr.AnnotationExpr createSimpleAnnotation​(Class<?> annotationClass)
      • createSimpleAnnotation

        public static com.github.javaparser.ast.expr.AnnotationExpr createSimpleAnnotation​(String className)
      • classToReferenceType

        public static com.github.javaparser.ast.type.Type classToReferenceType​(Class<?> declarationClass)
      • classToReferenceType

        public static com.github.javaparser.ast.type.Type classToReferenceType​(DeclarationSpec declaration)
      • toJavaParserType

        public static com.github.javaparser.ast.type.Type toJavaParserType​(Class<?> cls)
      • toJavaParserType

        public static com.github.javaparser.ast.type.Type toJavaParserType​(Class<?> cls,
                                                                           boolean primitive)
      • toClassOrInterfaceType

        public static com.github.javaparser.ast.type.ClassOrInterfaceType toClassOrInterfaceType​(Class<?> declClass)
      • toClassOrInterfaceType

        public static com.github.javaparser.ast.type.ClassOrInterfaceType toClassOrInterfaceType​(String className)
      • toStringLiteral

        public static com.github.javaparser.ast.expr.StringLiteralExpr toStringLiteral​(String s)
      • findBindingIdFromDotExpression

        public static Optional<String> findBindingIdFromDotExpression​(String expression)
      • findViaScopeWithPredicate

        public static Optional<com.github.javaparser.ast.expr.Expression> findViaScopeWithPredicate​(com.github.javaparser.ast.expr.Expression expr,
                                                                                                    Predicate<com.github.javaparser.ast.expr.Expression> predicate)
      • parseExpression

        public static org.drools.mvel.parser.ast.expr.DrlxExpression parseExpression​(String expression)
      • getClassFromType

        public static Class<?> getClassFromType​(org.drools.core.addon.TypeResolver typeResolver,
                                                com.github.javaparser.ast.type.Type type)
      • getClassFromContext

        public static Class<?> getClassFromContext​(org.drools.core.addon.TypeResolver typeResolver,
                                                   String className)
      • isPrimitiveExpression

        public static boolean isPrimitiveExpression​(com.github.javaparser.ast.expr.Expression expr)
      • forceCastForName

        public static void forceCastForName​(String nameRef,
                                            com.github.javaparser.ast.type.Type type,
                                            com.github.javaparser.ast.Node expression)
        Mutates expression such that, if it contains a
        nameRef
        , it is replaced and forcibly casted with
        (type) nameRef
        .
        Parameters:
        expression - a mutated expression
      • rescopeNamesToNewScope

        public static void rescopeNamesToNewScope​(com.github.javaparser.ast.expr.Expression newScope,
                                                  List<String> names,
                                                  com.github.javaparser.ast.Node e)
        Mutates expression such that, if it contains a NameExpr for any of the names, it is replaced with a FieldAccessExpr having newScope as the scope.
      • getPatternListenedProperties

        public static List<String> getPatternListenedProperties​(org.drools.compiler.lang.descr.PatternDescr pattern)
      • findLastPattern

        public static Optional<com.github.javaparser.ast.expr.MethodCallExpr> findLastPattern​(List<com.github.javaparser.ast.expr.Expression> expressions)
      • isNameExprWithName

        public static boolean isNameExprWithName​(com.github.javaparser.ast.Node expression,
                                                 String name)
      • findAllChildrenRecursive

        public static List<com.github.javaparser.ast.Node> findAllChildrenRecursive​(com.github.javaparser.ast.expr.Expression e)
      • clearAccessorCache

        public static void clearAccessorCache()
      • transformDrlNameExprToNameExpr

        public static <T extends com.github.javaparser.ast.Node> T transformDrlNameExprToNameExpr​(T e)
      • addCurlyBracesToBlock

        public static String addCurlyBracesToBlock​(String blockString)
      • addSemicolon

        public static String addSemicolon​(String block)
      • uncastExpr

        public static com.github.javaparser.ast.expr.Expression uncastExpr​(com.github.javaparser.ast.expr.Expression e)
      • collectUsedDeclarationsInExpression

        public static Collection<String> collectUsedDeclarationsInExpression​(com.github.javaparser.ast.expr.Expression expr)
      • safeResolveType

        public static Optional<Type> safeResolveType​(org.drools.core.addon.TypeResolver typeResolver,
                                                     String typeName)
      • unEncloseExpr

        public static com.github.javaparser.ast.expr.Expression unEncloseExpr​(com.github.javaparser.ast.expr.Expression expression)
      • createMvelCompiler

        public static org.drools.mvelcompiler.MvelCompiler createMvelCompiler​(RuleContext context)
      • createMvelCompiler

        public static org.drools.mvelcompiler.MvelCompiler createMvelCompiler​(RuleContext context,
                                                                              boolean withDrools)
      • createConstraintCompiler

        public static org.drools.mvelcompiler.ConstraintCompiler createConstraintCompiler​(RuleContext context,
                                                                                          Optional<Class<?>> originalPatternType)
      • isBooleanBoxedUnboxed

        public static boolean isBooleanBoxedUnboxed​(Type exprType)
      • hasDuplicateExpr

        public static boolean hasDuplicateExpr​(com.github.javaparser.ast.stmt.BlockStmt ruleBlock,
                                               com.github.javaparser.ast.expr.Expression expr)
      • stripEnclosedExpr

        public static com.github.javaparser.ast.expr.Expression stripEnclosedExpr​(com.github.javaparser.ast.expr.Expression expr)