public class MetaClassHelper
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.Object[] |
ARRAY_WITH_NULL |
static java.lang.Object[] |
EMPTY_ARRAY |
static java.lang.Class[] |
EMPTY_TYPE_ARRAY |
protected static java.util.logging.Logger |
LOG |
Constructor and Description |
---|
MetaClassHelper() |
Modifier and Type | Method and Description |
---|---|
static boolean |
accessibleToConstructor(java.lang.Class at,
java.lang.reflect.Constructor constructor) |
static java.lang.Object |
asPrimitiveArray(java.util.List list,
java.lang.Class parameterType) |
static java.lang.Object[] |
asWrapperArray(java.lang.Object parameters,
java.lang.Class componentType) |
static long |
calculateParameterDistance(java.lang.Class[] arguments,
java.lang.Class[] parameters) |
static java.lang.String |
capitalize(java.lang.String property) |
static java.lang.Object |
chooseEmptyMethodParams(FastArray methods) |
static java.lang.Object |
chooseMostGeneralMethodWith1NullParam(FastArray methods) |
static boolean |
containsMatchingMethod(java.util.List list,
MetaMethod method) |
static java.lang.Class[] |
convertToTypeArray(java.lang.Object[] args)
param instance array to the type array
|
static java.lang.Object |
doConstructorInvoke(CachedConstructor constructor,
java.lang.Object[] argumentArray) |
static java.lang.Object |
doMethodInvoke(java.lang.Object object,
MetaMethod method,
java.lang.Object[] argumentArray) |
protected static java.lang.String |
getClassName(java.lang.Object object) |
static Closure |
getMethodPointer(java.lang.Object object,
java.lang.String methodName)
Returns a callable object for the given method name on the object.
|
static ParameterTypes |
getParameterTypes(java.lang.Object methodOrConstructor) |
static boolean |
isAssignableFrom(java.lang.Class classToTransformTo,
java.lang.Class classToTransformFrom) |
static boolean |
isGenericSetMethod(MetaMethod method) |
protected static boolean |
isSuperclass(java.lang.Class claszz,
java.lang.Class superclass) |
static boolean |
isValidMethod(java.lang.Object method,
java.lang.Class[] arguments,
boolean includeCoerce) |
static boolean |
isValidMethod(ParameterTypes pt,
java.lang.Class[] arguments,
boolean includeCoerce) |
static void |
logMethodCall(java.lang.Object object,
java.lang.String methodName,
java.lang.Object[] arguments) |
static java.lang.Object |
makeArray(java.lang.Object obj,
java.lang.Class secondary,
int length) |
static java.lang.Object |
makeCommonArray(java.lang.Object[] arguments,
int offset,
java.lang.Class fallback) |
protected static java.lang.String |
normalizedValue(java.lang.Object argument) |
static boolean |
parametersAreCompatible(java.lang.Class[] arguments,
java.lang.Class[] parameters) |
protected static java.lang.String |
shortName(java.lang.Object object) |
static java.lang.Class[] |
wrap(java.lang.Class[] classes) |
public static final java.lang.Object[] EMPTY_ARRAY
public static final java.lang.Class[] EMPTY_TYPE_ARRAY
public static final java.lang.Object[] ARRAY_WITH_NULL
protected static final java.util.logging.Logger LOG
public static boolean accessibleToConstructor(java.lang.Class at, java.lang.reflect.Constructor constructor)
public static java.lang.Object[] asWrapperArray(java.lang.Object parameters, java.lang.Class componentType)
public static java.lang.Object asPrimitiveArray(java.util.List list, java.lang.Class parameterType)
list
- the original listparameterType
- the resulting array typepublic static long calculateParameterDistance(java.lang.Class[] arguments, java.lang.Class[] parameters)
public static java.lang.String capitalize(java.lang.String property)
public static java.lang.Object chooseEmptyMethodParams(FastArray methods)
methods
- the methods to choose frompublic static java.lang.Object chooseMostGeneralMethodWith1NullParam(FastArray methods)
methods
- the methods to choose frompublic static boolean containsMatchingMethod(java.util.List list, MetaMethod method)
list
- a list of MetaMethodsmethod
- the MetaMethod of interestpublic static java.lang.Class[] convertToTypeArray(java.lang.Object[] args)
args
- the argumentspublic static java.lang.Object doConstructorInvoke(CachedConstructor constructor, java.lang.Object[] argumentArray)
public static java.lang.Object makeCommonArray(java.lang.Object[] arguments, int offset, java.lang.Class fallback)
public static java.lang.Object makeArray(java.lang.Object obj, java.lang.Class secondary, int length)
public static java.lang.Object doMethodInvoke(java.lang.Object object, MetaMethod method, java.lang.Object[] argumentArray)
protected static java.lang.String getClassName(java.lang.Object object)
public static Closure getMethodPointer(java.lang.Object object, java.lang.String methodName)
object
- the object containing the methodmethodName
- the method of interestpublic static ParameterTypes getParameterTypes(java.lang.Object methodOrConstructor)
public static boolean isAssignableFrom(java.lang.Class classToTransformTo, java.lang.Class classToTransformFrom)
public static boolean isGenericSetMethod(MetaMethod method)
protected static boolean isSuperclass(java.lang.Class claszz, java.lang.Class superclass)
public static boolean isValidMethod(ParameterTypes pt, java.lang.Class[] arguments, boolean includeCoerce)
public static boolean isValidMethod(java.lang.Object method, java.lang.Class[] arguments, boolean includeCoerce)
public static void logMethodCall(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)
protected static java.lang.String normalizedValue(java.lang.Object argument)
public static boolean parametersAreCompatible(java.lang.Class[] arguments, java.lang.Class[] parameters)
protected static java.lang.String shortName(java.lang.Object object)
public static java.lang.Class[] wrap(java.lang.Class[] classes)