org.codehaus.groovy.runtime
Class InvokerHelper

java.lang.Object
  extended byorg.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: 1.49 $
Author:
James Strachan

Field Summary
static java.lang.Object[] EMPTY_ARGS
           
 
Constructor Summary
InvokerHelper()
           
 
Method Summary
static boolean asBool(java.lang.Object object)
           
static java.util.Collection asCollection(java.lang.Object collection)
           
static int asInt(java.lang.Object value)
           
static java.util.Iterator asIterator(java.lang.Object collection)
           
static java.util.List asList(java.lang.Object args)
           
static void assertFailed(java.lang.Object expression, java.lang.Object message)
           
static java.lang.Object asType(java.lang.Object object, java.lang.Class type)
          Provides a hook for type coercion of the given object to the required type
static boolean booleanUnbox(java.lang.Object value)
           
static java.lang.Object box(boolean value)
           
static java.lang.Object box(byte value)
           
static java.lang.Object box(char value)
           
static java.lang.Object box(double value)
           
static java.lang.Object box(float value)
           
static java.lang.Object box(int value)
           
static java.lang.Object box(long value)
           
static java.lang.Object box(short value)
           
static byte byteUnbox(java.lang.Object value)
           
static char charUnbox(java.lang.Object value)
           
static boolean compareEqual(java.lang.Object left, java.lang.Object right)
           
static boolean compareGreaterThan(java.lang.Object left, java.lang.Object right)
           
static boolean compareGreaterThanEqual(java.lang.Object left, java.lang.Object right)
           
static boolean compareIdentical(java.lang.Object left, java.lang.Object right)
           
static boolean compareLessThan(java.lang.Object left, java.lang.Object right)
           
static boolean compareLessThanEqual(java.lang.Object left, java.lang.Object right)
           
static boolean compareNotEqual(java.lang.Object left, java.lang.Object right)
           
static java.lang.Integer compareTo(java.lang.Object left, java.lang.Object right)
           
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 double doubleUnbox(java.lang.Object value)
           
static java.util.regex.Matcher findRegex(java.lang.Object left, java.lang.Object right)
           
static float floatUnbox(java.lang.Object value)
           
static Invoker getInstance()
           
static MetaClass getMetaClass(java.lang.Object object)
           
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 getVersion()
           
static java.lang.String inspect(java.lang.Object self)
           
static int intUnbox(java.lang.Object value)
           
static java.lang.Object invokeClosure(java.lang.Object closure, java.lang.Object arguments)
           
static java.lang.Object invokeConstructor(java.lang.String type, java.lang.Object arguments)
           
static java.lang.Object invokeConstructorOf(java.lang.Class type, java.lang.Object arguments)
           
static java.lang.Object invokeMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
           
static java.lang.Object invokeMethodSafe(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
           
static java.lang.Object invokeNoArgumentsMethod(java.lang.Object object, java.lang.String methodName)
           
static java.lang.Object invokeStaticMethod(java.lang.String type, java.lang.String methodName, java.lang.Object arguments)
           
static java.lang.Object invokeStaticNoArgumentsMethod(java.lang.String type, java.lang.String methodName)
           
static java.lang.Object invokeSuperMethod(java.lang.Object object, java.lang.String methodName, java.lang.Object arguments)
           
static boolean isCase(java.lang.Object switchValue, java.lang.Object caseExpression)
           
static long longUnbox(java.lang.Object value)
           
static boolean matchRegex(java.lang.Object left, java.lang.Object right)
           
static java.lang.Object negate(java.lang.Object value)
           
static boolean notBoolean(boolean bool)
           
static boolean notObject(java.lang.Object object)
           
protected static java.util.List primitiveArrayToList(java.lang.Object array)
          Allows conversion of arrays into a mutable List
static java.util.regex.Pattern regexPattern(java.lang.String regex)
           
static java.lang.Object runScript(java.lang.Class scriptClass, java.lang.String[] args)
           
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 short shortUnbox(java.lang.Object value)
           
static java.lang.String toString(java.lang.Object arguments)
           
static void write(java.io.Writer out, java.lang.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 java.lang.Object[] EMPTY_ARGS
Constructor Detail

InvokerHelper

public InvokerHelper()
Method Detail

getMetaClass

public static MetaClass getMetaClass(java.lang.Object object)

getInstance

public static Invoker getInstance()

invokeNoArgumentsMethod

public static java.lang.Object invokeNoArgumentsMethod(java.lang.Object object,
                                                       java.lang.String methodName)

invokeMethod

public static java.lang.Object invokeMethod(java.lang.Object object,
                                            java.lang.String methodName,
                                            java.lang.Object arguments)

invokeSuperMethod

public static java.lang.Object invokeSuperMethod(java.lang.Object object,
                                                 java.lang.String methodName,
                                                 java.lang.Object arguments)

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 type,
                                                  java.lang.String methodName,
                                                  java.lang.Object arguments)

invokeStaticNoArgumentsMethod

public static java.lang.Object invokeStaticNoArgumentsMethod(java.lang.String type,
                                                             java.lang.String methodName)

invokeConstructor

public static java.lang.Object invokeConstructor(java.lang.String type,
                                                 java.lang.Object arguments)

invokeConstructorOf

public static java.lang.Object invokeConstructorOf(java.lang.Class type,
                                                   java.lang.Object arguments)

invokeClosure

public static java.lang.Object invokeClosure(java.lang.Object closure,
                                             java.lang.Object arguments)

asIterator

public static java.util.Iterator asIterator(java.lang.Object collection)

asCollection

public static java.util.Collection asCollection(java.lang.Object collection)

asList

public static java.util.List asList(java.lang.Object args)

toString

public static java.lang.String toString(java.lang.Object arguments)

inspect

public static java.lang.String inspect(java.lang.Object self)

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.


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.


asType

public static java.lang.Object asType(java.lang.Object object,
                                      java.lang.Class type)
Provides a hook for type coercion of the given object to the required type

Parameters:
type - of object to convert the given object to
object - the object to be converted
Returns:
the original object or a new converted value

asBool

public static boolean asBool(java.lang.Object object)

notObject

public static boolean notObject(java.lang.Object object)

notBoolean

public static boolean notBoolean(boolean bool)

negate

public static java.lang.Object negate(java.lang.Object value)

isCase

public static boolean isCase(java.lang.Object switchValue,
                             java.lang.Object caseExpression)

compareIdentical

public static boolean compareIdentical(java.lang.Object left,
                                       java.lang.Object right)

compareEqual

public static boolean compareEqual(java.lang.Object left,
                                   java.lang.Object right)

findRegex

public static java.util.regex.Matcher findRegex(java.lang.Object left,
                                                java.lang.Object right)

matchRegex

public static boolean matchRegex(java.lang.Object left,
                                 java.lang.Object right)

regexPattern

public static java.util.regex.Pattern regexPattern(java.lang.String regex)

compareNotEqual

public static boolean compareNotEqual(java.lang.Object left,
                                      java.lang.Object right)

compareLessThan

public static boolean compareLessThan(java.lang.Object left,
                                      java.lang.Object right)

compareLessThanEqual

public static boolean compareLessThanEqual(java.lang.Object left,
                                           java.lang.Object right)

compareGreaterThan

public static boolean compareGreaterThan(java.lang.Object left,
                                         java.lang.Object right)

compareGreaterThanEqual

public static boolean compareGreaterThanEqual(java.lang.Object left,
                                              java.lang.Object right)

compareTo

public static java.lang.Integer compareTo(java.lang.Object left,
                                          java.lang.Object right)

createTuple

public static Tuple createTuple(java.lang.Object[] array)

createList

public static java.util.List createList(java.lang.Object[] values)

createMap

public static java.util.Map createMap(java.lang.Object[] values)

createRange

public static java.util.List createRange(java.lang.Object from,
                                         java.lang.Object to,
                                         boolean inclusive)

asInt

public static int asInt(java.lang.Object value)

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

Parameters:
object -
map -

getVersion

public static java.lang.String getVersion()

primitiveArrayToList

protected static java.util.List primitiveArrayToList(java.lang.Object array)
Allows conversion of arrays into a mutable List


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

box

public static java.lang.Object box(boolean value)

box

public static java.lang.Object box(byte value)

box

public static java.lang.Object box(char value)

box

public static java.lang.Object box(short value)

box

public static java.lang.Object box(int value)

box

public static java.lang.Object box(long value)

box

public static java.lang.Object box(float value)

box

public static java.lang.Object box(double value)

byteUnbox

public static byte byteUnbox(java.lang.Object value)

charUnbox

public static char charUnbox(java.lang.Object value)

shortUnbox

public static short shortUnbox(java.lang.Object value)

intUnbox

public static int intUnbox(java.lang.Object value)

booleanUnbox

public static boolean booleanUnbox(java.lang.Object value)

longUnbox

public static long longUnbox(java.lang.Object value)

floatUnbox

public static float floatUnbox(java.lang.Object value)

doubleUnbox

public static double doubleUnbox(java.lang.Object value)


Copyright © 2003-2004 The Codehaus. All Rights Reserved.