public class DrlxParseUtil extends Object
Modifier and Type | Class and Description |
---|---|
static class |
DrlxParseUtil.RemoveRootNodeResult |
Constructor and Description |
---|
DrlxParseUtil() |
Modifier and Type | Method and Description |
---|---|
static boolean |
canCoerceLiteralNumberExpr(Class<?> type) |
static com.github.javaparser.ast.type.Type |
classToReferenceType(Class<?> declClass) |
static void |
clearAccessorCache() |
static com.github.javaparser.ast.expr.Expression |
coerceLiteralNumberExprToType(com.github.javaparser.ast.expr.LiteralStringValueExpr expr,
Class<?> type) |
static List<com.github.javaparser.ast.Node> |
findAllChildrenRecursive(com.github.javaparser.ast.expr.Expression e) |
static Optional<String> |
findBindingIdFromDotExpression(String expression) |
static com.github.javaparser.ast.expr.MethodCallExpr |
findLastMethodInChain(com.github.javaparser.ast.expr.MethodCallExpr expr) |
static Optional<com.github.javaparser.ast.expr.MethodCallExpr> |
findLastPattern(List<com.github.javaparser.ast.expr.Expression> expressions) |
static Optional<com.github.javaparser.ast.expr.MethodCallExpr> |
findPatternWithBinding(RuleContext context,
String patternBinding,
List<com.github.javaparser.ast.expr.Expression> expressions) |
static DrlxParseUtil.RemoveRootNodeResult |
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 void |
forceCastForName(String nameRef,
com.github.javaparser.ast.type.Type type,
com.github.javaparser.ast.expr.Expression expression)
Mutates expression
such that, if it contains a nameRef, it is replaced and forcibly casted with (type) nameRef.
|
static String |
fromVar(String key) |
static com.github.javaparser.ast.expr.Expression |
generateLambdaWithoutParameters(Collection<String> usedDeclarations,
com.github.javaparser.ast.expr.Expression expr) |
static com.github.javaparser.ast.expr.Expression |
generateLambdaWithoutParameters(Collection<String> usedDeclarations,
com.github.javaparser.ast.expr.Expression expr,
boolean skipFirstParamAsThis) |
static com.github.javaparser.ast.expr.Expression |
generateLambdaWithoutParameters(com.github.javaparser.ast.expr.Expression expr) |
static Method |
getAccessor(Class<?> clazz,
String name) |
static Class<?> |
getClassFromContext(org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver,
String className) |
static Class<?> |
getClassFromType(org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver,
com.github.javaparser.ast.type.Type type) |
static Type |
getExpressionType(RuleContext context,
org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver,
com.github.javaparser.ast.expr.Expression expr,
Collection<String> usedDeclarations) |
static Field |
getField(Class<?> clazz,
String name) |
static Class<?> |
getLiteralExpressionType(com.github.javaparser.ast.expr.LiteralExpr expr) |
static List<String> |
getPatternListenedProperties(org.drools.compiler.lang.descr.PatternDescr pattern) |
static boolean |
hasScope(com.github.javaparser.ast.expr.MethodCallExpr mce,
String scope) |
static boolean |
isNameExprWithName(com.github.javaparser.ast.Node expression,
String name) |
static boolean |
isPrimitiveExpression(com.github.javaparser.ast.expr.Expression expr) |
static TypedExpression |
nameExprToMethodCallExpr(String name,
Type type,
com.github.javaparser.ast.expr.Expression scope) |
static com.github.javaparser.ast.stmt.BlockStmt |
parseBlock(String ruleConsequenceAsBlock) |
static org.drools.constraint.parser.ast.expr.DrlxExpression |
parseExpression(String expression) |
static com.github.javaparser.ast.expr.Expression |
prepend(com.github.javaparser.ast.expr.Expression scope,
com.github.javaparser.ast.expr.Expression expr) |
static DrlxParseUtil.RemoveRootNodeResult |
removeRootNode(com.github.javaparser.ast.expr.Expression expr) |
static com.github.javaparser.ast.Node |
replaceAllHalfBinaryChildren(com.github.javaparser.ast.Node parent) |
static void |
rescopeNamesToNewScope(com.github.javaparser.ast.expr.Expression newScope,
List<String> names,
com.github.javaparser.ast.expr.Expression 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. |
static Type |
returnTypeOfMethodCallExpr(RuleContext context,
org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver,
com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr,
Type clazz,
Collection<String> usedDeclarations) |
static com.github.javaparser.ast.expr.MethodCallExpr |
sanitizeDrlNameExpr(com.github.javaparser.ast.expr.MethodCallExpr me) |
static com.github.javaparser.ast.type.ClassOrInterfaceType |
toClassOrInterfaceType(Class<?> declClass) |
static com.github.javaparser.ast.type.ClassOrInterfaceType |
toClassOrInterfaceType(String className) |
static org.drools.core.util.index.IndexUtil.ConstraintType |
toConstraintType(com.github.javaparser.ast.expr.BinaryExpr.Operator operator) |
static TypedExpression |
toMethodCallWithClassCheck(RuleContext context,
com.github.javaparser.ast.expr.Expression expr,
String bindingId,
Class<?> clazz,
org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver) |
static com.github.javaparser.ast.type.Type |
toType(Class<?> declClass) |
static String |
toVar(String key) |
static <T extends com.github.javaparser.ast.Node> |
transformDrlNameExprToNameExpr(T e) |
static com.github.javaparser.ast.expr.Expression |
trasformHalfBinaryToBinary(com.github.javaparser.ast.expr.Expression drlxExpr) |
static Optional<InvalidExpressionErrorResult> |
validateDuplicateBindings(String ruleName,
List<String> allBindings) |
public static org.drools.core.util.index.IndexUtil.ConstraintType toConstraintType(com.github.javaparser.ast.expr.BinaryExpr.Operator operator)
public static TypedExpression nameExprToMethodCallExpr(String name, Type type, com.github.javaparser.ast.expr.Expression scope)
public static Type returnTypeOfMethodCallExpr(RuleContext context, org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver, com.github.javaparser.ast.expr.MethodCallExpr methodCallExpr, Type clazz, Collection<String> usedDeclarations)
public static Type getExpressionType(RuleContext context, org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver, com.github.javaparser.ast.expr.Expression expr, Collection<String> usedDeclarations)
public static boolean canCoerceLiteralNumberExpr(Class<?> type)
public static com.github.javaparser.ast.expr.Expression coerceLiteralNumberExprToType(com.github.javaparser.ast.expr.LiteralStringValueExpr expr, Class<?> type)
public static Class<?> getLiteralExpressionType(com.github.javaparser.ast.expr.LiteralExpr expr)
public static com.github.javaparser.ast.expr.Expression prepend(com.github.javaparser.ast.expr.Expression scope, com.github.javaparser.ast.expr.Expression expr)
public static Optional<com.github.javaparser.ast.Node> findRootNodeViaParent(com.github.javaparser.ast.Node expr)
public static com.github.javaparser.ast.Node replaceAllHalfBinaryChildren(com.github.javaparser.ast.Node parent)
public static com.github.javaparser.ast.expr.Expression trasformHalfBinaryToBinary(com.github.javaparser.ast.expr.Expression drlxExpr)
public static com.github.javaparser.ast.expr.MethodCallExpr findLastMethodInChain(com.github.javaparser.ast.expr.MethodCallExpr expr)
public static DrlxParseUtil.RemoveRootNodeResult findRemoveRootNodeViaScope(com.github.javaparser.ast.expr.Expression expr)
public static Optional<com.github.javaparser.ast.expr.Expression> findRootNodeViaScope(com.github.javaparser.ast.expr.Expression expr)
public static DrlxParseUtil.RemoveRootNodeResult removeRootNode(com.github.javaparser.ast.expr.Expression expr)
public static com.github.javaparser.ast.stmt.BlockStmt parseBlock(String ruleConsequenceAsBlock) throws com.github.javaparser.ParseProblemException
com.github.javaparser.ParseProblemException
public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters(Collection<String> usedDeclarations, com.github.javaparser.ast.expr.Expression expr)
public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters(com.github.javaparser.ast.expr.Expression expr)
public static com.github.javaparser.ast.expr.Expression generateLambdaWithoutParameters(Collection<String> usedDeclarations, com.github.javaparser.ast.expr.Expression expr, boolean skipFirstParamAsThis)
public static TypedExpression toMethodCallWithClassCheck(RuleContext context, com.github.javaparser.ast.expr.Expression expr, String bindingId, Class<?> clazz, org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver)
public static com.github.javaparser.ast.type.Type classToReferenceType(Class<?> declClass)
public static com.github.javaparser.ast.type.Type toType(Class<?> declClass)
public static com.github.javaparser.ast.type.ClassOrInterfaceType toClassOrInterfaceType(Class<?> declClass)
public static com.github.javaparser.ast.type.ClassOrInterfaceType toClassOrInterfaceType(String className)
public static Optional<String> findBindingIdFromDotExpression(String expression)
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)
public static org.drools.constraint.parser.ast.expr.DrlxExpression parseExpression(String expression)
public static Class<?> getClassFromType(org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver, com.github.javaparser.ast.type.Type type)
public static Class<?> getClassFromContext(org.kie.soup.project.datamodel.commons.types.TypeResolver typeResolver, String className)
public static boolean isPrimitiveExpression(com.github.javaparser.ast.expr.Expression expr)
public static void forceCastForName(String nameRef, com.github.javaparser.ast.type.Type type, com.github.javaparser.ast.expr.Expression expression)
nameRef, it is replaced and forcibly casted with
(type) nameRef.
expression
- a mutated expressionpublic static void rescopeNamesToNewScope(com.github.javaparser.ast.expr.Expression newScope, List<String> names, com.github.javaparser.ast.expr.Expression e)
names
,
it is replaced with a FieldAccessExpr having newScope
as the scope.public static List<String> getPatternListenedProperties(org.drools.compiler.lang.descr.PatternDescr pattern)
public static Optional<com.github.javaparser.ast.expr.MethodCallExpr> findPatternWithBinding(RuleContext context, String patternBinding, List<com.github.javaparser.ast.expr.Expression> expressions)
public static Optional<com.github.javaparser.ast.expr.MethodCallExpr> findLastPattern(List<com.github.javaparser.ast.expr.Expression> expressions)
public static boolean hasScope(com.github.javaparser.ast.expr.MethodCallExpr mce, String scope)
public static boolean isNameExprWithName(com.github.javaparser.ast.Node expression, String name)
public static List<com.github.javaparser.ast.Node> findAllChildrenRecursive(com.github.javaparser.ast.expr.Expression e)
public static Optional<InvalidExpressionErrorResult> validateDuplicateBindings(String ruleName, List<String> allBindings)
public static void clearAccessorCache()
public static <T extends com.github.javaparser.ast.Node> T transformDrlNameExprToNameExpr(T e)
public static com.github.javaparser.ast.expr.MethodCallExpr sanitizeDrlNameExpr(com.github.javaparser.ast.expr.MethodCallExpr me)
Copyright © 2001–2019 JBoss by Red Hat. All rights reserved.