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 Details

    • 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
  • Constructor Details

    • InvokerHelper

      public InvokerHelper()
  • Method Details

    • 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)
    • 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
    • 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)
    • newScript

      public static Script newScript​(Class<?> scriptClass, Binding context) throws InstantiationException, IllegalAccessException, InvocationTargetException
      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
    • 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)
    • format

      public static String format​(Object arguments, boolean verbose, int maxSize, boolean safe)
    • escapeBackslashes

      public static String escapeBackslashes​(String orig)
    • 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 process
      maxSize - 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 process
      maxSize - 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 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 '...', -1 means don't stop
      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)