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

### Field Summary

Fields
`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 and Description
`InvokerHelper()`

### Method Summary

Methods
`static void` `append(java.lang.Appendable out, java.lang.Object object)` Appends an object to an Appendable using Groovy's default representation for the object.
`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
`static 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 name
`static 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` `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 object
`static 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 an object to a Writer using Groovy's default representation for the object.

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

### Constructor Detail

#### InvokerHelper

    public InvokerHelper()

### 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 compare
  `right` - 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 compare
  `right` - 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)

#### createScript

    public static Script createScript(java.lang.Class scriptClass,
                      Binding context)

#### setProperties

    public static void setProperties(java.lang.Object object,
                     java.util.Map map)

Sets the properties on the given object

#### write

    public static void write(java.io.Writer out,
             java.lang.Object object)
                      throws java.io.IOException

Writes an object to a Writer using Groovy's default representation for the object.

Throws:
  `java.io.IOException`

#### append

    public static void append(java.lang.Appendable out,
              java.lang.Object object)
                       throws java.io.IOException

Appends an object to an Appendable using Groovy's default representation for the object.

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 process
  `maxSize` - 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 process
  `maxSize` - 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)