org.mvel2.util
Class ParseTools
java.lang.Object
org.mvel2.util.ParseTools
public class ParseTools
- extends java.lang.Object
|
Method Summary |
static int |
__resolveType(java.lang.Class cls)
|
static int |
balancedCapture(char[] chars,
int start,
char type)
This is an important aspect of the core parser tools. |
static int[] |
balancedCaptureWithLineAccounting(char[] chars,
int start,
char type)
|
static java.lang.Class |
boxPrimitive(java.lang.Class cls)
|
static java.lang.String[] |
captureContructorAndResidual(char[] cs)
|
static java.lang.String[] |
captureContructorAndResidual(java.lang.String token)
|
static int |
captureStringLiteral(char type,
char[] expr,
int cursor,
int length)
|
static void |
checkNameSafety(java.lang.String name)
|
static boolean |
containsCheck(java.lang.Object compareTo,
java.lang.Object compareTest)
|
static java.lang.Class |
createClass(java.lang.String className)
|
static java.lang.Class |
createClassSafe(java.lang.String className)
|
static int |
createClassSignatureHash(java.lang.Class declaring,
java.lang.Class[] sig)
|
static char[] |
createShortFormOperativeAssignment(java.lang.String name,
char[] statement,
int operation)
|
static java.lang.String |
createStringTrimmed(char[] s)
|
static java.lang.String |
createStringTrimmed(char[] s,
int start,
int length)
|
static boolean |
debug(java.lang.Throwable t)
|
static java.lang.reflect.Method |
determineActualTargetMethod(java.lang.reflect.Method method)
|
static java.lang.Object |
doOperations(java.lang.Object val1,
int operation,
java.lang.Object val2)
|
static boolean |
endsWith(char[] c,
char[] test)
|
static boolean |
equals(char[] obj1,
java.lang.String obj2)
|
static int |
find(char[] c,
char find)
|
static int |
findAbsoluteLast(char[] array)
|
static java.lang.Class |
findClass(VariableResolverFactory factory,
java.lang.String name)
|
static ClassImportResolverFactory |
findClassImportResolverFactory(VariableResolverFactory factory)
|
static int |
findLast(char[] c,
char find)
|
static StaticMethodImportResolverFactory |
findStaticMethodImportResolverFactory(VariableResolverFactory factory)
|
static TypeInjectionResolverFactoryImpl |
findTypeInjectionResolverFactory(VariableResolverFactory factory)
|
static java.lang.Class |
getBaseComponentType(java.lang.Class cls)
|
static java.lang.reflect.Method |
getBestCandidate(java.lang.Class[] arguments,
java.lang.String method,
java.lang.Class decl,
java.lang.reflect.Method[] methods,
boolean requireExact)
|
static java.lang.reflect.Method |
getBestCandidate(java.lang.Object[] arguments,
java.lang.String method,
java.lang.Class decl,
java.lang.reflect.Method[] methods,
boolean requireExact)
|
static java.lang.reflect.Constructor |
getBestConstructorCanadidate(java.lang.Object[] arguments,
java.lang.Class cls)
|
static java.lang.reflect.Constructor[] |
getConstructors(java.lang.Class cls)
|
static java.io.FileWriter |
getDebugFileWriter()
|
static java.lang.reflect.Method |
getExactMatch(java.lang.String name,
java.lang.Class[] args,
java.lang.Class returnType,
java.lang.Class cls)
|
static java.lang.String[] |
getMethodNameAndParms(char[] parm)
|
static java.lang.String |
getSimpleClassName(java.lang.Class cls)
REMOVE THIS WITH JDK1.4 COMPATIBILITY! COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class -- DIE 1.4! |
static java.lang.Class |
getSubComponentType(java.lang.Class cls)
|
static java.lang.reflect.Method |
getWidenedTarget(java.lang.reflect.Method method)
|
static int |
handleEscapeSequence(char[] escapeStr,
int pos)
Replace escape sequences and return trim required. |
static java.lang.Object |
handleNumericConversion(char[] val)
|
static java.lang.String |
handleStringEscapes(char[] input)
|
static java.lang.Object |
increment(java.lang.Object o)
|
static boolean |
isDigit(int c)
|
static boolean |
isIdentifierPart(int c)
|
static boolean |
isJunct(char c)
|
static boolean |
isNumber(char[] val)
|
static boolean |
isNumber(java.lang.Object val)
|
static boolean |
isNumber(java.lang.String val)
|
static boolean |
isNumeric(java.lang.Object val)
|
static boolean |
isNumericallyCoercible(java.lang.Class target,
java.lang.Class parm)
|
static boolean |
isPrimitiveWrapper(java.lang.Class clazz)
|
static boolean |
isWhitespace(char c)
|
static char[] |
loadFromFile(java.io.File file)
|
static java.lang.Object |
narrowType(java.math.BigDecimal result)
|
static int |
numericTest(char[] val)
|
static java.io.Serializable |
optimizeTree(CompiledExpression compiled)
|
static java.lang.String[] |
parseMethodOrConstructor(char[] parm)
|
static java.lang.String[] |
parseParameterDefList(char[] parm,
int offset,
int length)
|
static java.lang.String[] |
parseParameterList(char[] parm,
int offset,
int length)
|
static java.util.Map<java.lang.String,java.lang.String> |
parseParameters(char[] parms)
|
static ParseTools.WithStatementPair[] |
parseWithExpressions(java.lang.String nestParm,
char[] block)
|
static java.lang.String |
repeatChar(char c,
int times)
|
static int |
resolveType(java.lang.Class cls)
|
static float |
similarity(java.lang.String s1,
java.lang.String s2)
|
static java.io.Serializable |
subCompileExpression(char[] expression)
|
static java.io.Serializable |
subCompileExpression(char[] expression,
ParserContext ctx)
|
static java.io.Serializable |
subCompileExpression(java.lang.String expression,
ParserContext ctx)
|
static char[] |
subset(char[] array,
int start)
|
static char[] |
subset(char[] array,
int start,
int length)
|
static java.lang.Class |
unboxPrimitive(java.lang.Class cls)
|
static java.lang.Object |
valueOnly(java.lang.Object o)
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
EMPTY_OBJ_ARR
public static final java.lang.Object[] EMPTY_OBJ_ARR
MATH_PROCESSOR
public static final MathProcessor MATH_PROCESSOR
ParseTools
public ParseTools()
parseMethodOrConstructor
public static java.lang.String[] parseMethodOrConstructor(char[] parm)
getMethodNameAndParms
public static java.lang.String[] getMethodNameAndParms(char[] parm)
parseParameterDefList
public static java.lang.String[] parseParameterDefList(char[] parm,
int offset,
int length)
parseParameterList
public static java.lang.String[] parseParameterList(char[] parm,
int offset,
int length)
getBestCandidate
public static java.lang.reflect.Method getBestCandidate(java.lang.Object[] arguments,
java.lang.String method,
java.lang.Class decl,
java.lang.reflect.Method[] methods,
boolean requireExact)
getBestCandidate
public static java.lang.reflect.Method getBestCandidate(java.lang.Class[] arguments,
java.lang.String method,
java.lang.Class decl,
java.lang.reflect.Method[] methods,
boolean requireExact)
getExactMatch
public static java.lang.reflect.Method getExactMatch(java.lang.String name,
java.lang.Class[] args,
java.lang.Class returnType,
java.lang.Class cls)
getWidenedTarget
public static java.lang.reflect.Method getWidenedTarget(java.lang.reflect.Method method)
getBestConstructorCanadidate
public static java.lang.reflect.Constructor getBestConstructorCanadidate(java.lang.Object[] arguments,
java.lang.Class cls)
createClassSafe
public static java.lang.Class createClassSafe(java.lang.String className)
createClass
public static java.lang.Class createClass(java.lang.String className)
throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
getConstructors
public static java.lang.reflect.Constructor[] getConstructors(java.lang.Class cls)
captureContructorAndResidual
public static java.lang.String[] captureContructorAndResidual(java.lang.String token)
captureContructorAndResidual
public static java.lang.String[] captureContructorAndResidual(char[] cs)
boxPrimitive
public static java.lang.Class boxPrimitive(java.lang.Class cls)
unboxPrimitive
public static java.lang.Class unboxPrimitive(java.lang.Class cls)
containsCheck
public static boolean containsCheck(java.lang.Object compareTo,
java.lang.Object compareTest)
createClassSignatureHash
public static int createClassSignatureHash(java.lang.Class declaring,
java.lang.Class[] sig)
handleEscapeSequence
public static int handleEscapeSequence(char[] escapeStr,
int pos)
- Replace escape sequences and return trim required.
- Parameters:
escapeStr - -pos - -
- Returns:
- -
createShortFormOperativeAssignment
public static char[] createShortFormOperativeAssignment(java.lang.String name,
char[] statement,
int operation)
findTypeInjectionResolverFactory
public static TypeInjectionResolverFactoryImpl findTypeInjectionResolverFactory(VariableResolverFactory factory)
findClassImportResolverFactory
public static ClassImportResolverFactory findClassImportResolverFactory(VariableResolverFactory factory)
findStaticMethodImportResolverFactory
public static StaticMethodImportResolverFactory findStaticMethodImportResolverFactory(VariableResolverFactory factory)
findClass
public static java.lang.Class findClass(VariableResolverFactory factory,
java.lang.String name)
throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
debug
public static boolean debug(java.lang.Throwable t)
subset
public static char[] subset(char[] array,
int start,
int length)
subset
public static char[] subset(char[] array,
int start)
resolveType
public static int resolveType(java.lang.Class cls)
__resolveType
public static int __resolveType(java.lang.Class cls)
valueOnly
public static java.lang.Object valueOnly(java.lang.Object o)
isNumericallyCoercible
public static boolean isNumericallyCoercible(java.lang.Class target,
java.lang.Class parm)
narrowType
public static java.lang.Object narrowType(java.math.BigDecimal result)
determineActualTargetMethod
public static java.lang.reflect.Method determineActualTargetMethod(java.lang.reflect.Method method)
doOperations
public static java.lang.Object doOperations(java.lang.Object val1,
int operation,
java.lang.Object val2)
increment
public static java.lang.Object increment(java.lang.Object o)
parseParameters
public static java.util.Map<java.lang.String,java.lang.String> parseParameters(char[] parms)
balancedCapture
public static int balancedCapture(char[] chars,
int start,
char type)
- This is an important aspect of the core parser tools. This method is used throughout the core parser
and sub-lexical parsers to capture a balanced capture between opening and terminating tokens such as:
( [ { ' "
For example: ((foo + bar + (bar - foo)) * 20;
If a balanced capture is performed from position 2, we get "(foo + bar + (bar - foo))" back.
If a balanced capture is performed from position 15, we get "(bar - foo)" back.
Etc.
- Parameters:
chars - -start - -type - -
- Returns:
- -
balancedCaptureWithLineAccounting
public static int[] balancedCaptureWithLineAccounting(char[] chars,
int start,
char type)
handleStringEscapes
public static java.lang.String handleStringEscapes(char[] input)
captureStringLiteral
public static int captureStringLiteral(char type,
char[] expr,
int cursor,
int length)
parseWithExpressions
public static ParseTools.WithStatementPair[] parseWithExpressions(java.lang.String nestParm,
char[] block)
handleNumericConversion
public static java.lang.Object handleNumericConversion(char[] val)
isNumeric
public static boolean isNumeric(java.lang.Object val)
numericTest
public static int numericTest(char[] val)
isNumber
public static boolean isNumber(java.lang.Object val)
isNumber
public static boolean isNumber(java.lang.String val)
isNumber
public static boolean isNumber(char[] val)
find
public static int find(char[] c,
char find)
findLast
public static int findLast(char[] c,
char find)
createStringTrimmed
public static java.lang.String createStringTrimmed(char[] s)
createStringTrimmed
public static java.lang.String createStringTrimmed(char[] s,
int start,
int length)
endsWith
public static boolean endsWith(char[] c,
char[] test)
equals
public static boolean equals(char[] obj1,
java.lang.String obj2)
isIdentifierPart
public static boolean isIdentifierPart(int c)
isDigit
public static boolean isDigit(int c)
similarity
public static float similarity(java.lang.String s1,
java.lang.String s2)
findAbsoluteLast
public static int findAbsoluteLast(char[] array)
getBaseComponentType
public static java.lang.Class getBaseComponentType(java.lang.Class cls)
getSubComponentType
public static java.lang.Class getSubComponentType(java.lang.Class cls)
isJunct
public static boolean isJunct(char c)
getSimpleClassName
public static java.lang.String getSimpleClassName(java.lang.Class cls)
- REMOVE THIS WITH JDK1.4 COMPATIBILITY! COMPENSATES FOR LACK OF getSimpleName IN java.lang.Class -- DIE 1.4!
- Parameters:
cls - -- class reference
- Returns:
- Simple name of class
checkNameSafety
public static void checkNameSafety(java.lang.String name)
getDebugFileWriter
public static java.io.FileWriter getDebugFileWriter()
throws java.io.IOException
- Throws:
java.io.IOException
isPrimitiveWrapper
public static boolean isPrimitiveWrapper(java.lang.Class clazz)
subCompileExpression
public static java.io.Serializable subCompileExpression(char[] expression)
subCompileExpression
public static java.io.Serializable subCompileExpression(char[] expression,
ParserContext ctx)
subCompileExpression
public static java.io.Serializable subCompileExpression(java.lang.String expression,
ParserContext ctx)
optimizeTree
public static java.io.Serializable optimizeTree(CompiledExpression compiled)
isWhitespace
public static boolean isWhitespace(char c)
repeatChar
public static java.lang.String repeatChar(char c,
int times)
loadFromFile
public static char[] loadFromFile(java.io.File file)
throws java.io.IOException
- Throws:
java.io.IOException
Copyright © 2008. All Rights Reserved.