Package org.codehaus.groovy.runtime
Class InvokerHelper
- java.lang.Object
-
- org.codehaus.groovy.runtime.InvokerHelper
-
public class InvokerHelper extends java.lang.Object
A static helper class to make bytecode generation easier and act as a facade over the Invoker- Version:
- $Revision$
- Author:
- James Strachan
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Object[]
EMPTY_ARGS
protected static java.lang.Object[]
EMPTY_ARGUMENTS
protected static java.lang.Class[]
EMPTY_TYPES
static MetaClassRegistry
metaRegistry
-
Constructor Summary
Constructors Constructor Description InvokerHelper()
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.lang.Object[]
asArray(java.lang.Object arguments)
Converts the given object into an array; if its an array then just cast otherwise wrap it in an arraystatic java.util.Iterator<java.lang.Object>
asIterator(java.lang.Object o)
static java.util.List
asList(java.lang.Object value)
static void
assertFailed(java.lang.Object expression, java.lang.Object message)
static java.lang.Object[]
asUnwrappedArray(java.lang.Object arguments)
static java.lang.Object
bitwiseNegate(java.lang.Object value)
static java.util.List
createList(java.lang.Object[] values)
static java.util.Map
createMap(java.lang.Object[] values)
static java.util.List
createRange(java.lang.Object from, java.lang.Object to, boolean inclusive)
static Script
createScript(java.lang.Class scriptClass, Binding context)
static Tuple
createTuple(java.lang.Object[] array)
static java.util.regex.Matcher
findRegex(java.lang.Object left, java.lang.Object right)
Find the right hand regex within the left hand string and return a matcher.protected static java.lang.String
format(java.lang.Object arguments, boolean verbose)
static java.lang.String
format(java.lang.Object arguments, boolean verbose, int maxSize)
static java.lang.Object
getAttribute(java.lang.Object object, java.lang.String attribute)
static java.lang.Object
getGroovyObjectProperty(GroovyObject object, java.lang.String property)
static MetaClass
getMetaClass(java.lang.Class cls)
static MetaClass
getMetaClass(java.lang.Object object)
static MetaClassRegistry
getMetaRegistry()
static Closure
getMethodPointer(java.lang.Object object, java.lang.String methodName)
Returns the method pointer for the given object namestatic java.lang.Object
getProperty(java.lang.Object object, java.lang.String property)
static java.lang.Object
getPropertySafe(java.lang.Object object, java.lang.String property)
static java.lang.String
getVersion()
Deprecated.Use GroovySystem version instead.static java.lang.String
inspect(java.lang.Object self)
static java.lang.Object
invokeClosure(java.lang.Object closure, java.lang.Object arguments)
static java.lang.Object
invokeConstructorOf(java.lang.Class type, java.lang.Object arguments)
static java.lang.Object
invokeConstructorOf(java.lang.String klass, java.lang.Object arguments)
static java.lang.Object
invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
Invokes the given method on the object.static java.lang.Object
invokeMethodSafe(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
static java.lang.Object
invokeNoArgumentsConstructorOf(java.lang.Class type)
static java.lang.Object
invokeStaticMethod(java.lang.Class type, java.lang.String method, java.lang.Object arguments)
static java.lang.Object
invokeStaticMethod(java.lang.String klass, java.lang.String methodName, java.lang.Object arguments)
static java.lang.Object
invokeStaticNoArgumentsMethod(java.lang.Class type, java.lang.String methodName)
static java.lang.Object
invokeSuperMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
static boolean
matchRegex(java.lang.Object left, java.lang.Object right)
Find the right hand regex within the left hand string and return a matcher.static void
removeClass(java.lang.Class clazz)
static java.lang.Object
runScript(java.lang.Class scriptClass, java.lang.String[] args)
static void
setAttribute(java.lang.Object object, java.lang.String attribute, java.lang.Object newValue)
static void
setGroovyObjectProperty(java.lang.Object newValue, GroovyObject object, java.lang.String property)
This is so we don't have to reorder the stack when we call this method.static void
setProperties(java.lang.Object object, java.util.Map map)
Sets the properties on the given objectstatic void
setProperty(java.lang.Object object, java.lang.String property, java.lang.Object newValue)
static void
setProperty2(java.lang.Object newValue, java.lang.Object object, java.lang.String property)
This is so we don't have to reorder the stack when we call this method.static void
setPropertySafe2(java.lang.Object newValue, java.lang.Object object, java.lang.String property)
This is so we don't have to reorder the stack when we call this method.static SpreadMap
spreadMap(java.lang.Object value)
static java.lang.String
toArrayString(java.lang.Object[] arguments)
A helper method to return the string representation of an array of objects with brace boundaries "{" and "}".static java.lang.String
toListString(java.util.Collection arg)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".static java.lang.String
toListString(java.util.Collection arg, int maxSize)
A helper method to return the string representation of a list with bracket boundaries "[" and "]".static java.lang.String
toMapString(java.util.Map arg)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".static java.lang.String
toMapString(java.util.Map arg, int maxSize)
A helper method to return the string representation of a map with bracket boundaries "[" and "]".static java.lang.String
toString(java.lang.Object arguments)
static java.lang.String
toTypeString(java.lang.Object[] arguments)
A helper method to format the arguments types as a comma-separated list.static java.lang.Object
unaryMinus(java.lang.Object value)
static java.lang.Object
unaryPlus(java.lang.Object value)
static void
write(java.io.Writer out, java.lang.Object object)
Writes the given object to the given stream
-
-
-
Field Detail
-
EMPTY_ARGS
public static final java.lang.Object[] EMPTY_ARGS
-
EMPTY_ARGUMENTS
protected static final java.lang.Object[] EMPTY_ARGUMENTS
-
EMPTY_TYPES
protected static final java.lang.Class[] EMPTY_TYPES
-
metaRegistry
public static final MetaClassRegistry metaRegistry
-
-
Method Detail
-
removeClass
public static void removeClass(java.lang.Class clazz)
-
invokeMethodSafe
public static java.lang.Object invokeMethodSafe(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
-
invokeStaticMethod
public static java.lang.Object invokeStaticMethod(java.lang.String klass, java.lang.String methodName, java.lang.Object arguments) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
invokeStaticNoArgumentsMethod
public static java.lang.Object invokeStaticNoArgumentsMethod(java.lang.Class type, java.lang.String methodName)
-
invokeConstructorOf
public static java.lang.Object invokeConstructorOf(java.lang.String klass, java.lang.Object arguments) throws java.lang.ClassNotFoundException
- Throws:
java.lang.ClassNotFoundException
-
invokeNoArgumentsConstructorOf
public static java.lang.Object invokeNoArgumentsConstructorOf(java.lang.Class type)
-
invokeClosure
public static java.lang.Object invokeClosure(java.lang.Object closure, java.lang.Object arguments)
-
asList
public static java.util.List asList(java.lang.Object value)
-
toString
public static java.lang.String toString(java.lang.Object arguments)
-
inspect
public static java.lang.String inspect(java.lang.Object self)
-
getAttribute
public static java.lang.Object getAttribute(java.lang.Object object, java.lang.String attribute)
-
setAttribute
public static void setAttribute(java.lang.Object object, java.lang.String attribute, java.lang.Object newValue)
-
getProperty
public static java.lang.Object getProperty(java.lang.Object object, java.lang.String property)
-
getPropertySafe
public static java.lang.Object getPropertySafe(java.lang.Object object, java.lang.String property)
-
setProperty
public static void setProperty(java.lang.Object object, java.lang.String property, java.lang.Object newValue)
-
setProperty2
public static void setProperty2(java.lang.Object newValue, java.lang.Object object, java.lang.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(java.lang.Object newValue, GroovyObject object, java.lang.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 java.lang.Object getGroovyObjectProperty(GroovyObject object, java.lang.String property)
-
setPropertySafe2
public static void setPropertySafe2(java.lang.Object newValue, java.lang.Object object, java.lang.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(java.lang.Object object, java.lang.String methodName)
Returns the method pointer for the given object name
-
unaryMinus
public static java.lang.Object unaryMinus(java.lang.Object value)
-
unaryPlus
public static java.lang.Object unaryPlus(java.lang.Object value)
-
findRegex
public static java.util.regex.Matcher findRegex(java.lang.Object left, java.lang.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(java.lang.Object left, java.lang.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
-
createTuple
public static Tuple createTuple(java.lang.Object[] array)
-
spreadMap
public static SpreadMap spreadMap(java.lang.Object value)
-
createList
public static java.util.List createList(java.lang.Object[] values)
-
createMap
public static java.util.Map createMap(java.lang.Object[] values)
-
assertFailed
public static void assertFailed(java.lang.Object expression, java.lang.Object message)
-
runScript
public static java.lang.Object runScript(java.lang.Class scriptClass, java.lang.String[] args)
-
setProperties
public static void setProperties(java.lang.Object object, java.util.Map map)
Sets the properties on the given object
-
getVersion
public static java.lang.String getVersion()
Deprecated.Use GroovySystem version instead.
-
write
public static void write(java.io.Writer out, java.lang.Object object) throws java.io.IOException
Writes the given object to the given stream- Throws:
java.io.IOException
-
asIterator
public static java.util.Iterator<java.lang.Object> asIterator(java.lang.Object o)
-
format
protected static java.lang.String format(java.lang.Object arguments, boolean verbose)
-
format
public static java.lang.String format(java.lang.Object arguments, boolean verbose, int maxSize)
-
toTypeString
public static java.lang.String toTypeString(java.lang.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
-
toMapString
public static java.lang.String toMapString(java.util.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 java.lang.String toMapString(java.util.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 '...'- Returns:
- the string representation of the map
-
toListString
public static java.lang.String toListString(java.util.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 java.lang.String toListString(java.util.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
-
toArrayString
public static java.lang.String toArrayString(java.lang.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
-
createRange
public static java.util.List createRange(java.lang.Object from, java.lang.Object to, boolean inclusive)
-
bitwiseNegate
public static java.lang.Object bitwiseNegate(java.lang.Object value)
-
getMetaRegistry
public static MetaClassRegistry getMetaRegistry()
-
getMetaClass
public static MetaClass getMetaClass(java.lang.Object object)
-
getMetaClass
public static MetaClass getMetaClass(java.lang.Class cls)
-
invokeMethod
public static java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
Invokes the given method on the object.
-
invokeSuperMethod
public static java.lang.Object invokeSuperMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
-
invokeStaticMethod
public static java.lang.Object invokeStaticMethod(java.lang.Class type, java.lang.String method, java.lang.Object arguments)
-
invokeConstructorOf
public static java.lang.Object invokeConstructorOf(java.lang.Class type, java.lang.Object arguments)
-
asArray
public static java.lang.Object[] asArray(java.lang.Object arguments)
Converts the given object into an array; if its an array then just cast otherwise wrap it in an array
-
asUnwrappedArray
public static java.lang.Object[] asUnwrappedArray(java.lang.Object arguments)
-
-