public class MetaClassHelper extends Object
Modifier and Type | Field and Description |
---|---|
static Object[] |
ARRAY_WITH_NULL |
static Object[] |
EMPTY_ARRAY |
static Class[] |
EMPTY_CLASS_ARRAY |
static Class[] |
EMPTY_TYPE_ARRAY |
protected static Logger |
LOG |
Constructor and Description |
---|
MetaClassHelper() |
Modifier and Type | Method and Description |
---|---|
static boolean |
accessibleToConstructor(Class at,
Constructor constructor) |
static Object |
asPrimitiveArray(List list,
Class parameterType) |
static Object[] |
asWrapperArray(Object parameters,
Class componentType) |
static long |
calculateParameterDistance(Class[] arguments,
ParameterTypes pt) |
static String |
capitalize(String property)
This is the complement to the java.beans.Introspector.decapitalize(String) method.
|
static Class[] |
castArgumentsToClassArray(Object[] argTypes) |
static Object |
chooseEmptyMethodParams(FastArray methods) |
static Object |
chooseMostGeneralMethodWith1NullParam(FastArray methods)
Deprecated.
|
static boolean |
containsMatchingMethod(List list,
MetaMethod method) |
static String |
convertPropertyName(String prop)
Converts a String into a standard property name.
|
static Class[] |
convertToTypeArray(Object[] args)
param instance array to the type array
|
static GroovyRuntimeException |
createExceptionText(String init,
MetaMethod method,
Object object,
Object[] args,
Throwable reason,
boolean setReason) |
static void |
doSetMetaClass(Object self,
MetaClass mc)
Sets the meta class for an object, by delegating to the appropriate
DefaultGroovyMethods helper method. |
protected static String |
getClassName(Object object) |
static Closure |
getMethodPointer(Object object,
String methodName)
Returns a callable object for the given method name on the object.
|
static boolean |
isAssignableFrom(Class classToTransformTo,
Class classToTransformFrom) |
static boolean |
isGenericSetMethod(MetaMethod method) |
protected static boolean |
isSuperclass(Class clazz,
Class superclass) |
static void |
logMethodCall(Object object,
String methodName,
Object[] arguments) |
static Object |
makeArray(Object obj,
Class secondary,
int length) |
static Object |
makeCommonArray(Object[] arguments,
int offset,
Class fallback) |
protected static String |
normalizedValue(Object argument) |
static boolean |
parametersAreCompatible(Class[] arguments,
Class[] parameters) |
static boolean |
sameClass(Class[] params,
Object arg) |
static boolean |
sameClasses(Class[] params) |
static boolean |
sameClasses(Class[] params,
Object arg1) |
static boolean |
sameClasses(Class[] params,
Object[] arguments) |
static boolean |
sameClasses(Class[] params,
Object[] arguments,
boolean weakNullCheck) |
static boolean |
sameClasses(Class[] params,
Object arg1,
Object arg2) |
static boolean |
sameClasses(Class[] params,
Object arg1,
Object arg2,
Object arg3) |
static boolean |
sameClasses(Class[] params,
Object arg1,
Object arg2,
Object arg3,
Object arg4) |
protected static String |
shortName(Object object) |
static void |
unwrap(Object[] arguments) |
static Class[] |
wrap(Class[] classes) |
public static final Object[] EMPTY_ARRAY
public static final Class[] EMPTY_TYPE_ARRAY
public static final Object[] ARRAY_WITH_NULL
protected static final Logger LOG
public static final Class[] EMPTY_CLASS_ARRAY
public static boolean accessibleToConstructor(Class at, Constructor constructor)
public static Object asPrimitiveArray(List list, Class parameterType)
list
- the original listparameterType
- the resulting array typepublic static long calculateParameterDistance(Class[] arguments, ParameterTypes pt)
public static String capitalize(String property)
property
- the property name to capitalizepublic static Object chooseEmptyMethodParams(FastArray methods)
methods
- the methods to choose from@Deprecated public static Object chooseMostGeneralMethodWith1NullParam(FastArray methods)
methods
- the methods to choose frompublic static boolean containsMatchingMethod(List list, MetaMethod method)
list
- a list of MetaMethodsmethod
- the MetaMethod of interestpublic static Class[] convertToTypeArray(Object[] args)
args
- the argumentspublic static Object makeCommonArray(Object[] arguments, int offset, Class fallback)
public static GroovyRuntimeException createExceptionText(String init, MetaMethod method, Object object, Object[] args, Throwable reason, boolean setReason)
public static Closure getMethodPointer(Object object, String methodName)
object
- the object containing the methodmethodName
- the method of interestpublic static boolean isAssignableFrom(Class classToTransformTo, Class classToTransformFrom)
public static boolean isGenericSetMethod(MetaMethod method)
public static boolean parametersAreCompatible(Class[] arguments, Class[] parameters)
public static void logMethodCall(Object object, String methodName, Object[] arguments)
public static boolean sameClasses(Class[] params, Object[] arguments, boolean weakNullCheck)
public static boolean sameClasses(Class[] params)
public static boolean sameClasses(Class[] params, Object arg1, Object arg2, Object arg3)
public static boolean sameClasses(Class[] params, Object arg1, Object arg2, Object arg3, Object arg4)
public static void unwrap(Object[] arguments)
public static void doSetMetaClass(Object self, MetaClass mc)
DefaultGroovyMethods
helper method. This method was introduced as
a breaking change in 2.0 to solve rare cases of stack overflow. See GROOVY-5285.
The method is named doSetMetaClass in order to prevent misusages. Do not use
this method directly unless you know what you do.self
- the object for which to set the meta classmc
- the metaclass