Class DrlxParseUtil
java.lang.Object
org.drools.model.codegen.execmodel.generator.DrlxParseUtil
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final com.github.javaparser.ParserConfiguration.LanguageLevelstatic final String -
Method Summary
Modifier and TypeMethodDescriptionstatic StringaddCurlyBracesToBlock(String blockString) static StringaddSemicolon(String block) static booleancanCoerceLiteralNumberExpr(Class<?> type) static com.github.javaparser.ast.type.TypeclassToReferenceType(Class<?> declarationClass) static com.github.javaparser.ast.type.TypeclassToReferenceType(TypedDeclarationSpec declaration) static voidcollectUsedDeclarationsInExpression(com.github.javaparser.ast.expr.Expression expr) static ConstraintCompilercreateConstraintCompiler(RuleContext context, Optional<Class<?>> originalPatternType) static MvelCompilercreateMvelCompiler(RuleContext context) static MvelCompilercreateMvelCompiler(RuleContext context, boolean withDrools) static com.github.javaparser.ast.expr.AnnotationExprcreateSimpleAnnotation(Class<?> annotationClass) static com.github.javaparser.ast.expr.AnnotationExprcreateSimpleAnnotation(String className) static List<com.github.javaparser.ast.Node>findAllChildrenRecursive(com.github.javaparser.ast.expr.Expression e) findBindingIdFromDotExpression(String expression) static com.github.javaparser.ast.expr.MethodCallExprfindLastMethodInChain(com.github.javaparser.ast.expr.MethodCallExpr expr) static Optional<com.github.javaparser.ast.expr.MethodCallExpr>findLastPattern(List<com.github.javaparser.ast.expr.Expression> expressions) findRemoveRootNodeViaScope(com.github.javaparser.ast.expr.Expression expr) static Optional<com.github.javaparser.ast.Node>findRootNodeViaParent(com.github.javaparser.ast.Node expr) static Optional<com.github.javaparser.ast.expr.Expression>findRootNodeViaScope(com.github.javaparser.ast.expr.Expression expr) static Optional<com.github.javaparser.ast.expr.Expression>findViaScopeWithPredicate(com.github.javaparser.ast.expr.Expression expr, Predicate<com.github.javaparser.ast.expr.Expression> predicate) static voidforceCastForName(String nameRef, com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.Node expression) Mutates expression such that, if it contains astatic com.github.javaparser.ast.expr.ExpressiongenerateLambdaWithoutParameters(com.github.javaparser.ast.expr.Expression expr) static com.github.javaparser.ast.expr.ExpressiongenerateLambdaWithoutParameters(Collection<String> usedDeclarations, com.github.javaparser.ast.expr.Expression expr) static com.github.javaparser.ast.expr.ExpressiongenerateLambdaWithoutParameters(Collection<String> usedDeclarations, com.github.javaparser.ast.expr.Expression expr, boolean skipFirstParamAsThis, Optional<Class<?>> patternClass) static com.github.javaparser.ast.expr.ExpressiongenerateLambdaWithoutParameters(Collection<String> usedDeclarations, com.github.javaparser.ast.expr.Expression expr, boolean skipFirstParamAsThis, Optional<Class<?>> patternClass, RuleContext ruleContext) static MethodgetAccessor(Class<?> clazz, String name, RuleContext context) static Class<?>getClassFromContext(TypeResolver typeResolver, String className) static Class<?>getClassFromType(TypeResolver typeResolver, com.github.javaparser.ast.type.Type type) static TypegetExpressionType(RuleContext context, TypeResolver typeResolver, com.github.javaparser.ast.expr.Expression expr, Collection<String> usedDeclarations) static Fieldstatic Class<?>getLiteralExpressionType(com.github.javaparser.ast.expr.LiteralExpr expr) getPatternListenedProperties(org.drools.drl.ast.descr.PatternDescr pattern) static booleanhasDuplicateExpr(com.github.javaparser.ast.stmt.BlockStmt ruleBlock, com.github.javaparser.ast.expr.Expression expr) static booleanisBooleanBoxedUnboxed(Type exprType) static booleanisNameExprWithName(com.github.javaparser.ast.Node expression, String name) static booleanisPrimitiveExpression(com.github.javaparser.ast.expr.Expression expr) static booleanisThisExpression(com.github.javaparser.ast.Node expr) static TypedExpressionnameExprToMethodCallExpr(String name, Type type, com.github.javaparser.ast.expr.Expression scope, RuleContext context) static com.github.javaparser.ast.stmt.BlockStmtparseBlock(String ruleConsequenceAsBlock) static DrlxExpressionparseExpression(String expression) static com.github.javaparser.ast.expr.Expressionprepend(com.github.javaparser.ast.expr.Expression scope, com.github.javaparser.ast.expr.Expression expr) removeRootNode(com.github.javaparser.ast.expr.Expression expr) static com.github.javaparser.ast.NodereplaceAllHalfBinaryChildren(com.github.javaparser.ast.Node parent) static voidrescopeNamesToNewScope(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 thenames, it is replaced with a FieldAccessExpr havingnewScopeas the scope.static TypereturnTypeOfMethodCallExpr(RuleContext context, TypeResolver typeResolver, com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr, Type clazz, Collection<String> usedDeclarations) safeResolveType(TypeResolver typeResolver, String typeName) static com.github.javaparser.ast.expr.ExpressionstripEnclosedExpr(com.github.javaparser.ast.expr.Expression expr) static com.github.javaparser.ast.type.ClassOrInterfaceTypetoClassOrInterfaceType(Class<?> declClass) static com.github.javaparser.ast.type.ClassOrInterfaceTypetoClassOrInterfaceType(String className) static org.drools.model.Index.ConstraintTypetoConstraintType(com.github.javaparser.ast.expr.BinaryExpr.Operator operator) static com.github.javaparser.ast.type.TypetoJavaParserType(Class<?> cls) static com.github.javaparser.ast.type.TypetoJavaParserType(Class<?> cls, boolean primitive) static com.github.javaparser.ast.expr.StringLiteralExprstatic Stringstatic <T extends com.github.javaparser.ast.Node>
Tstatic com.github.javaparser.ast.expr.ExpressiontrasformHalfBinaryToBinary(com.github.javaparser.ast.expr.Expression drlxExpr, Optional<RuleContext> ruleContextOpt) static com.github.javaparser.ast.expr.ExpressionuncastExpr(com.github.javaparser.ast.expr.Expression e) static com.github.javaparser.ast.expr.ExpressionunEncloseExpr(com.github.javaparser.ast.expr.Expression expression) static Optional<InvalidExpressionErrorResult>validateDuplicateBindings(String ruleName, List<String> allBindings)
-
Field Details
-
PARSABLE_LANGUAGE_LEVEL
public static final com.github.javaparser.ParserConfiguration.LanguageLevel PARSABLE_LANGUAGE_LEVEL -
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
-
getLiteralExpressionType
-
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
-
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
-
classToReferenceType
public static com.github.javaparser.ast.type.Type classToReferenceType(TypedDeclarationSpec declaration) -
toJavaParserType
-
toJavaParserType
-
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
-
findBindingIdFromDotExpression
-
findViaScopeWithPredicate
-
parseExpression
-
getClassFromType
public static Class<?> getClassFromType(TypeResolver typeResolver, com.github.javaparser.ast.type.Type type) -
getClassFromContext
-
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 anameRef
, 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 thenames, it is replaced with a FieldAccessExpr havingnewScopeas the scope. -
getPatternListenedProperties
-
findLastPattern
-
isNameExprWithName
-
findAllChildrenRecursive
public static List<com.github.javaparser.ast.Node> findAllChildrenRecursive(com.github.javaparser.ast.expr.Expression e) -
toVar
-
validateDuplicateBindings
public static Optional<InvalidExpressionErrorResult> validateDuplicateBindings(String ruleName, List<String> allBindings) -
getAccessor
-
clearAccessorCache
public static void clearAccessorCache() -
getField
-
transformDrlNameExprToNameExpr
public static <T extends com.github.javaparser.ast.Node> T transformDrlNameExprToNameExpr(T e) -
addCurlyBracesToBlock
-
addSemicolon
-
uncastExpr
public static com.github.javaparser.ast.expr.Expression uncastExpr(com.github.javaparser.ast.expr.Expression e) -
collectUsedDeclarationsInExpression
-
safeResolveType
-
unEncloseExpr
public static com.github.javaparser.ast.expr.Expression unEncloseExpr(com.github.javaparser.ast.expr.Expression expression) -
createMvelCompiler
-
createMvelCompiler
-
createConstraintCompiler
public static ConstraintCompiler createConstraintCompiler(RuleContext context, Optional<Class<?>> originalPatternType) -
isBooleanBoxedUnboxed
-
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)
-