Package org.codehaus.groovy.runtime
Class InvokerHelper
- java.lang.Object
-
- org.codehaus.groovy.runtime.InvokerHelper
-
public class InvokerHelper extends Object
A static helper class to make bytecode generation easier and act as a facade over the Invoker
-
-
Field Summary
Fields Modifier and Type Field Description static Object[]
EMPTY_ARGS
protected static Object[]
EMPTY_ARGUMENTS
protected static Class[]
EMPTY_TYPES
static String
MAIN_METHOD_NAME
static MetaClassRegistry
metaRegistry
-
Constructor Summary
Constructors Constructor Description InvokerHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
append(Appendable out, Object object)
Appends an object to an Appendable using Groovy's default representation for the object.static Object[]
asArray(Object arguments)
Converts the given object into an array; if its an array then just cast otherwise wrap it in an arraystatic Iterator<Object>
asIterator(Object o)
static List
asList(Object value)
static void
assertFailed(Object expression, Object message)
static Object[]
asUnwrappedArray(Object arguments)
static Object
bitwiseNegate(Object value)
static List
createList(Object[] values)
static Map
createMap(Object[] values)
static List
createRange(Object from, Object to, boolean inclusive)
static Script
createScript(Class scriptClass, Binding context)
static Tuple
createTuple(Object[] array)
static String
escapeBackslashes(String orig)
static Matcher
findRegex(Object left, Object right)
Find the right hand regex within the left hand string and return a matcher.protected static String
format(Object arguments, boolean verbose)
static String
format(Object arguments, boolean verbose, int maxSize)
static String
format(Object arguments, boolean verbose, int maxSize, boolean safe)
static Object
getAttribute(Object object, String attribute)
static Object
getGroovyObjectProperty(GroovyObject object, String property)
static MetaClass
getMetaClass(Class cls)
static MetaClass
getMetaClass(Object object)
static MetaClassRegistry
getMetaRegistry()
static Closure
getMethodPointer(Object object, String methodName)
Returns the method pointer for the given object namestatic Object
getProperty(Object object, String property)
static Object
getPropertySafe(Object object, String property)
static int
initialCapacity(int initialEntryCnt)
According to the initial entry count, calculate the initial capacity of hash map, which is power of 2 (SEE https://stackoverflow.com/questions/8352378/why-does-hashmap-require-that-the-initial-capacity-be-a-power-of-two)static String
inspect(Object self)
static Object
invokeClosure(Object closure, Object arguments)
static Object
invokeConstructorOf(Class type, Object arguments)
static Object
invokeConstructorOf(String klass, Object arguments)
static Object
invokeMethod(Object object, String methodName, Object arguments)
Invokes the given method on the object.static Object
invokeMethodSafe(Object object, String methodName, Object arguments)
static Object
invokeNoArgumentsConstructorOf(Class type)
static Object
invokeStaticMethod(Class type, String method, Object arguments)
static Object
invokeStaticMethod(String klass, String methodName, Object arguments)
static Object
invokeStaticNoArgumentsMethod(Class type, String methodName)
static Object
invokeSuperMethod(Object object, String methodName, Object arguments)
static boolean
matchRegex(Object left, Object right)
Find the right hand regex within the left hand string and return a matcher.static Script
newScript(Class<?> scriptClass, Binding context)
static void
removeClass(Class clazz)
static Object
runScript(Class scriptClass, String[] args)
static void
setAttribute(Object object, String attribute, Object newValue)
static void
setGroovyObjectProperty(Object newValue, GroovyObject object, String property)
This is so we don't have to reorder the stack when we call this method.static void
setProperties(Object object, Map map)
Sets the properties on the given objectstatic void
setProperty(Object object, String property, Object newValue)
static void
setProperty2(Object newValue, Object object, String property)
This is so we don't have to reorder the stack when we call this method.static void
setPropertySafe2(Object newValue, Object object, String property)
This is so we don't have to reorder the stack when we call this method.static SpreadMap
spreadMap(Object value)
static String
toArrayString(Object[] arguments)
A helper method to return the string representation of an array of objects with brace boundaries "[" and "]".static String
toArrayString(Object[] arguments, int maxSize, boolean safe)
A helper method to return the string representation of an array of objects with brace boundaries "[" and "]".static String
toListString(Collection arg)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".static String
toListString(Collection arg, int maxSize)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".static String
toListString(Collection arg, int maxSize, boolean safe)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".static String
toMapString(Map arg)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".static String
toMapString(Map arg, int maxSize)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".static String
toString(Object arguments)
static String
toTypeString(Object[] arguments)
A helper method to format the arguments types as a comma-separated list.static String
toTypeString(Object[] arguments, int maxSize)
A helper method to format the arguments types as a comma-separated list.static Object
unaryMinus(Object value)
static Object
unaryPlus(Object value)
static void
write(Writer out, Object object)
Writes an object to a Writer using Groovy's default representation for the object.
-
-
-
Field Detail
-
EMPTY_ARGS
public static final Object[] EMPTY_ARGS
-
EMPTY_ARGUMENTS
protected static final Object[] EMPTY_ARGUMENTS
-
EMPTY_TYPES
protected static final Class[] EMPTY_TYPES
-
metaRegistry
public static final MetaClassRegistry metaRegistry
-
MAIN_METHOD_NAME
public static final String MAIN_METHOD_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
removeClass
public static void removeClass(Class clazz)
-
invokeMethodSafe
public static Object invokeMethodSafe(Object object, String methodName, Object arguments)
-
invokeStaticMethod
public static Object invokeStaticMethod(String klass, String methodName, Object arguments) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
invokeStaticNoArgumentsMethod
public static Object invokeStaticNoArgumentsMethod(Class type, String methodName)
-
invokeConstructorOf
public static Object invokeConstructorOf(String klass, Object arguments) throws ClassNotFoundException
- Throws:
ClassNotFoundException
-
setProperty2
public static void setProperty2(Object newValue, Object object, String property)
This is so we don't have to reorder the stack when we call this method. At some point a better name might be in order.
-
setGroovyObjectProperty
public static void setGroovyObjectProperty(Object newValue, GroovyObject object, String property)
This is so we don't have to reorder the stack when we call this method. At some point a better name might be in order.
-
getGroovyObjectProperty
public static Object getGroovyObjectProperty(GroovyObject object, String property)
-
setPropertySafe2
public static void setPropertySafe2(Object newValue, Object object, String property)
This is so we don't have to reorder the stack when we call this method. At some point a better name might be in order.
-
getMethodPointer
public static Closure getMethodPointer(Object object, String methodName)
Returns the method pointer for the given object name
-
findRegex
public static Matcher findRegex(Object left, Object right)
Find the right hand regex within the left hand string and return a matcher.- Parameters:
left
- string to compareright
- regular expression to compare the string to
-
matchRegex
public static boolean matchRegex(Object left, Object right)
Find the right hand regex within the left hand string and return a matcher.- Parameters:
left
- string to compareright
- regular expression to compare the string to
-
initialCapacity
public static int initialCapacity(int initialEntryCnt)
According to the initial entry count, calculate the initial capacity of hash map, which is power of 2 (SEE https://stackoverflow.com/questions/8352378/why-does-hashmap-require-that-the-initial-capacity-be-a-power-of-two)- Parameters:
initialEntryCnt
- the initial entry count- Returns:
- the initial capacity
-
newScript
public static Script newScript(Class<?> scriptClass, Binding context) throws InstantiationException, IllegalAccessException, InvocationTargetException
-
setProperties
public static void setProperties(Object object, Map map)
Sets the properties on the given object
-
write
public static void write(Writer out, Object object) throws IOException
Writes an object to a Writer using Groovy's default representation for the object.- Throws:
IOException
-
append
public static void append(Appendable out, Object object) throws IOException
Appends an object to an Appendable using Groovy's default representation for the object.- Throws:
IOException
-
toTypeString
public static String toTypeString(Object[] arguments)
A helper method to format the arguments types as a comma-separated list.- Parameters:
arguments
- the type to process- Returns:
- the string representation of the type
-
toTypeString
public static String toTypeString(Object[] arguments, int maxSize)
A helper method to format the arguments types as a comma-separated list.- Parameters:
arguments
- the type to processmaxSize
- stop after approximately this many characters and append '...', -1 means don't stop- Returns:
- the string representation of the type
-
toMapString
public static String toMapString(Map arg)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".- Parameters:
arg
- the map to process- Returns:
- the string representation of the map
-
toMapString
public static String toMapString(Map arg, int maxSize)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".- Parameters:
arg
- the map to processmaxSize
- stop after approximately this many characters and append '...', -1 means don't stop- Returns:
- the string representation of the map
-
toListString
public static String toListString(Collection arg)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".- Parameters:
arg
- the collection to process- Returns:
- the string representation of the collection
-
toListString
public static String toListString(Collection arg, int maxSize)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".- Parameters:
arg
- the collection to processmaxSize
- stop after approximately this many characters and append '...'- Returns:
- the string representation of the collection
-
toListString
public static String toListString(Collection arg, int maxSize, boolean safe)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".- Parameters:
arg
- the collection to processmaxSize
- stop after approximately this many characters and append '...', -1 means don't stopsafe
- whether to use a default object representation for any item in the collection if an exception occurs when generating its toString- Returns:
- the string representation of the collection
-
toArrayString
public static String toArrayString(Object[] arguments)
A helper method to return the string representation of an array of objects with brace boundaries "[" and "]".- Parameters:
arguments
- the array to process- Returns:
- the string representation of the array
-
toArrayString
public static String toArrayString(Object[] arguments, int maxSize, boolean safe)
A helper method to return the string representation of an array of objects with brace boundaries "[" and "]".- Parameters:
arguments
- the array to processmaxSize
- stop after approximately this many characters and append '...'safe
- whether to use a default object representation for any item in the array if an exception occurs when generating its toString- Returns:
- the string representation of the array
-
getMetaRegistry
public static MetaClassRegistry getMetaRegistry()
-
invokeMethod
public static Object invokeMethod(Object object, String methodName, Object arguments)
Invokes the given method on the object.
-
invokeSuperMethod
public static Object invokeSuperMethod(Object object, String methodName, Object arguments)
-
invokeStaticMethod
public static Object invokeStaticMethod(Class type, String method, Object arguments)
-
asArray
public static Object[] asArray(Object arguments)
Converts the given object into an array; if its an array then just cast otherwise wrap it in an array
-
-