Class DrlxParseUtil

java.lang.Object
org.drools.model.codegen.execmodel.generator.DrlxParseUtil

public class DrlxParseUtil extends Object
  • Field Details

    • PARSABLE_LANGUAGE_LEVEL

      public static final com.github.javaparser.ParserConfiguration.LanguageLevel PARSABLE_LANGUAGE_LEVEL
    • THIS_PLACEHOLDER

      public static final String THIS_PLACEHOLDER
      See Also:
  • Method Details

    • 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, TypeResolver typeResolver, com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr, Type clazz, Collection<String> usedDeclarations)
    • getExpressionType

      public static Type getExpressionType(RuleContext context, 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, Optional<RuleContext> ruleContextOpt)
    • findLastMethodInChain

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

      public static DrlxParseUtil.RemoveRootNodeResult findRemoveRootNodeViaScope(com.github.javaparser.ast.expr.Expression expr)
    • findRootNodeViaScope

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

      public static DrlxParseUtil.RemoveRootNodeResult removeRootNode(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(TypedDeclarationSpec 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 DrlxExpression parseExpression(String expression)
    • getClassFromType

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

      public static Class<?> getClassFromContext(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.drl.ast.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)
    • toVar

      public static String toVar(String key)
    • validateDuplicateBindings

      public static Optional<InvalidExpressionErrorResult> validateDuplicateBindings(String ruleName, List<String> allBindings)
    • getAccessor

      public static Method getAccessor(Class<?> clazz, String name, RuleContext context)
    • clearAccessorCache

      public static void clearAccessorCache()
    • getField

      public static Field getField(Class<?> clazz, String name)
    • 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 List<String> collectUsedDeclarationsInExpression(com.github.javaparser.ast.expr.Expression expr)
    • safeResolveType

      public static Optional<Type> safeResolveType(TypeResolver typeResolver, String typeName)
    • unEncloseExpr

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

      public static MvelCompiler createMvelCompiler(RuleContext context)
    • createMvelCompiler

      public static MvelCompiler createMvelCompiler(RuleContext context, boolean withDrools)
    • createConstraintCompiler

      public static 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)