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
  Author:
    James Strachan

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and 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 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)`
    `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` | `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` | `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 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.

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

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

    - #### asIterator

          public static Iterator<Object> asIterator(Object o)

    - #### format

          protected static String format(Object arguments,
                      boolean verbose)

    - #### format

          public 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

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

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