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

Version:
  $Revision: 20728 $
Author:
  James Strachan

### Field Summary

Fields
`static Object[]` `EMPTY_ARGS`
`protected static Object[]` `EMPTY_ARGUMENTS`
`protected static Class[]` `EMPTY_TYPES`
`static MetaClassRegistry` `metaRegistry`

### Constructor Summary

Constructors
Constructor and Description
`InvokerHelper()`

### Method Summary

Methods
`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
`static 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 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)`
`protected static String` `format(Object arguments, boolean verbose, int maxSize)`
`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 name
`static Object` `getProperty(Object object, String property)`
`static Object` `getPropertySafe(Object object, String property)`
`static String` `getVersion()` Deprecated. Use GroovySystem version instead.
`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 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 object
`static 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` `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` `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 Object` `unaryMinus(Object value)`
`static Object` `unaryPlus(Object value)`
`static void` `write(Writer out, Object object)` Writes the given object to the given stream

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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

### Constructor Detail

#### InvokerHelper

    public InvokerHelper()

### 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`

#### invokeNoArgumentsConstructorOf

    public static Object invokeNoArgumentsConstructorOf(Class type)

#### invokeClosure

    public static Object invokeClosure(Object closure,
                       Object arguments)

#### asList

    public static List asList(Object value)

#### toString

    public static String toString(Object arguments)

#### inspect

    public static String inspect(Object self)

#### getAttribute

    public static Object getAttribute(Object object,
                      String attribute)

#### setAttribute

    public static void setAttribute(Object object,
                    String attribute,
                    Object newValue)

#### getProperty

    public static Object getProperty(Object object,
                     String property)

#### getPropertySafe

    public static Object getPropertySafe(Object object,
                         String property)

#### setProperty

    public static void setProperty(Object object,
                   String property,
                   Object newValue)

#### 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

#### unaryMinus

    public static Object unaryMinus(Object value)

#### unaryPlus

    public static Object unaryPlus(Object value)

#### 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 compare
  `right` - 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 compare
  `right` - regular expression to compare the string to

#### createTuple

    public static Tuple createTuple(Object[] array)

#### spreadMap

    public static SpreadMap spreadMap(Object value)

#### createList

    public static List createList(Object[] values)

#### createMap

    public static Map createMap(Object[] values)

#### assertFailed

    public static void assertFailed(Object expression,
                    Object message)

#### runScript

    public static Object runScript(Class scriptClass,
                   String[] args)

#### createScript

    public static Script createScript(Class scriptClass,
                      Binding context)

#### setProperties

    public static void setProperties(Object object,
                     Map map)

Sets the properties on the given object

#### getVersion

    public static String getVersion()

Deprecated. Use GroovySystem version instead.

#### write

    public static void write(Writer out,
             Object object)
                      throws IOException

Writes the given object to the given stream

Throws:
  `IOException`

#### asIterator

    public static Iterator<Object> asIterator(Object o)

#### format

    protected static String format(Object arguments,
                boolean verbose)

#### format

    protected static String format(Object arguments,
                boolean verbose,
                int maxSize)

#### 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

#### 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 process
  `maxSize` - stop after approximately this many characters and append '...'
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 process
  `maxSize` - stop after approximately this many characters and append '...'
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

#### createRange

    public static List createRange(Object from,
                   Object to,
                   boolean inclusive)

#### bitwiseNegate

    public static Object bitwiseNegate(Object value)

#### getMetaRegistry

    public static MetaClassRegistry getMetaRegistry()

#### getMetaClass

    public static MetaClass getMetaClass(Object object)

#### getMetaClass

    public static MetaClass getMetaClass(Class cls)

#### 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)

#### invokeConstructorOf

    public static Object invokeConstructorOf(Class type,
                             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

#### asUnwrappedArray

    public static Object[] asUnwrappedArray(Object arguments)