Package org.codehaus.groovy.runtime
Class MetaClassHelper
java.lang.Object
org.codehaus.groovy.runtime.MetaClassHelper
public class MetaClassHelper
extends java.lang.Object
- 
Field SummaryFields Modifier and Type Field Description static java.lang.Object[]ARRAY_WITH_NULLstatic java.lang.Object[]EMPTY_ARRAYstatic java.lang.Class[]EMPTY_CLASS_ARRAYstatic java.lang.Class[]EMPTY_TYPE_ARRAYprotected static java.util.logging.LoggerLOG
- 
Constructor SummaryConstructors Constructor Description MetaClassHelper()
- 
Method SummaryModifier and Type Method Description static booleanaccessibleToConstructor(java.lang.Class at, java.lang.reflect.Constructor constructor)static java.lang.ObjectasPrimitiveArray(java.util.List list, java.lang.Class parameterType)static java.lang.Object[]asWrapperArray(java.lang.Object parameters, java.lang.Class componentType)static longcalculateParameterDistance(java.lang.Class[] arguments, ParameterTypes pt)static java.lang.Stringcapitalize(java.lang.String property)Deprecated.Use BeanUtils.capitalize insteadstatic java.lang.Class[]castArgumentsToClassArray(java.lang.Object[] argTypes)static java.lang.ObjectchooseEmptyMethodParams(FastArray methods)static java.lang.ObjectchooseMostGeneralMethodWith1NullParam(FastArray methods)Deprecated.static booleancontainsMatchingMethod(java.util.List list, MetaMethod method)static java.lang.StringconvertPropertyName(java.lang.String prop)Converts a String into a standard property name.static java.lang.Class[]convertToTypeArray(java.lang.Object[] args)param instance array to the type arraystatic GroovyRuntimeExceptioncreateExceptionText(java.lang.String init, MetaMethod method, java.lang.Object object, java.lang.Object[] args, java.lang.Throwable reason, boolean setReason)static voiddoSetMetaClass(java.lang.Object self, MetaClass mc)Sets the meta class for an object, by delegating to the appropriateDefaultGroovyMethodshelper method.protected static java.lang.StringgetClassName(java.lang.Object object)static ClosuregetMethodPointer(java.lang.Object object, java.lang.String methodName)Returns a callable object for the given method name on the object.static booleanisAssignableFrom(java.lang.Class classToTransformTo, java.lang.Class classToTransformFrom)static booleanisGenericSetMethod(MetaMethod method)protected static booleanisSuperclass(java.lang.Class clazz, java.lang.Class superclass)static voidlogMethodCall(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)static java.lang.ObjectmakeArray(java.lang.Object obj, java.lang.Class secondary, int length)static java.lang.ObjectmakeCommonArray(java.lang.Object[] arguments, int offset, java.lang.Class fallback)protected static java.lang.StringnormalizedValue(java.lang.Object argument)static booleanparametersAreCompatible(java.lang.Class[] arguments, java.lang.Class[] parameters)static booleansameClass(java.lang.Class[] params, java.lang.Object arg)static booleansameClasses(java.lang.Class[] params)static booleansameClasses(java.lang.Class[] params, java.lang.Object arg1)static booleansameClasses(java.lang.Class[] params, java.lang.Object[] arguments)static booleansameClasses(java.lang.Class[] params, java.lang.Object[] arguments, boolean weakNullCheck)static booleansameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2)static booleansameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)static booleansameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)protected static java.lang.StringshortName(java.lang.Object object)static voidunwrap(java.lang.Object[] arguments)static java.lang.Class[]wrap(java.lang.Class[] classes)Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
- 
Field Details- 
EMPTY_ARRAYpublic static final java.lang.Object[] EMPTY_ARRAY
- 
EMPTY_TYPE_ARRAYpublic static final java.lang.Class[] EMPTY_TYPE_ARRAY
- 
ARRAY_WITH_NULLpublic static final java.lang.Object[] ARRAY_WITH_NULL
- 
LOGprotected static final java.util.logging.Logger LOG
- 
EMPTY_CLASS_ARRAYpublic static final java.lang.Class[] EMPTY_CLASS_ARRAY
 
- 
- 
Constructor Details- 
MetaClassHelperpublic MetaClassHelper()
 
- 
- 
Method Details- 
accessibleToConstructorpublic static boolean accessibleToConstructor(java.lang.Class at, java.lang.reflect.Constructor constructor)
- 
asWrapperArraypublic static java.lang.Object[] asWrapperArray(java.lang.Object parameters, java.lang.Class componentType)
- 
asPrimitiveArraypublic static java.lang.Object asPrimitiveArray(java.util.List list, java.lang.Class parameterType)- Parameters:
- list- the original list
- parameterType- the resulting array type
- Returns:
- the constructed array
 
- 
calculateParameterDistance
- 
capitalize@Deprecated public static java.lang.String capitalize(java.lang.String property)Deprecated.Use BeanUtils.capitalize instead
- 
chooseEmptyMethodParams- Parameters:
- methods- the methods to choose from
- Returns:
- the method with 1 parameter which takes the most general type of object (e.g. Object)
 
- 
chooseMostGeneralMethodWith1NullParam@Deprecated public static java.lang.Object chooseMostGeneralMethodWith1NullParam(FastArray methods)Deprecated.Warning: this method does not choose properly if multiple methods with the same distance are encountered- Parameters:
- methods- the methods to choose from
- Returns:
- the method with 1 parameter which takes the most general type of object (e.g. Object) ignoring primitive types
 
- 
containsMatchingMethod- Parameters:
- list- a list of MetaMethods
- method- the MetaMethod of interest
- Returns:
- true if a method of the same matching prototype was found in the list
 
- 
convertToTypeArraypublic static java.lang.Class[] convertToTypeArray(java.lang.Object[] args)param instance array to the type array- Parameters:
- args- the arguments
- Returns:
- the types of the arguments
 
- 
makeCommonArraypublic static java.lang.Object makeCommonArray(java.lang.Object[] arguments, int offset, java.lang.Class fallback)
- 
makeArraypublic static java.lang.Object makeArray(java.lang.Object obj, java.lang.Class secondary, int length)
- 
createExceptionTextpublic static GroovyRuntimeException createExceptionText(java.lang.String init, MetaMethod method, java.lang.Object object, java.lang.Object[] args, java.lang.Throwable reason, boolean setReason)
- 
getClassNameprotected static java.lang.String getClassName(java.lang.Object object)
- 
getMethodPointerReturns a callable object for the given method name on the object. The object acts like a Closure in that it can be called, like a closure and passed around - though really its a method pointer, not a closure per se.- Parameters:
- object- the object containing the method
- methodName- the method of interest
- Returns:
- the resulting closure-like method pointer
 
- 
isAssignableFrompublic static boolean isAssignableFrom(java.lang.Class classToTransformTo, java.lang.Class classToTransformFrom)
- 
isGenericSetMethod
- 
isSuperclassprotected static boolean isSuperclass(java.lang.Class clazz, java.lang.Class superclass)
- 
parametersAreCompatiblepublic static boolean parametersAreCompatible(java.lang.Class[] arguments, java.lang.Class[] parameters)
- 
logMethodCallpublic static void logMethodCall(java.lang.Object object, java.lang.String methodName, java.lang.Object[] arguments)
- 
normalizedValueprotected static java.lang.String normalizedValue(java.lang.Object argument)
- 
shortNameprotected static java.lang.String shortName(java.lang.Object object)
- 
wrappublic static java.lang.Class[] wrap(java.lang.Class[] classes)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object[] arguments, boolean weakNullCheck)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object[] arguments)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object arg1)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3)
- 
sameClassespublic static boolean sameClasses(java.lang.Class[] params, java.lang.Object arg1, java.lang.Object arg2, java.lang.Object arg3, java.lang.Object arg4)
- 
sameClasspublic static boolean sameClass(java.lang.Class[] params, java.lang.Object arg)
- 
castArgumentsToClassArraypublic static java.lang.Class[] castArgumentsToClassArray(java.lang.Object[] argTypes)
- 
unwrappublic static void unwrap(java.lang.Object[] arguments)
- 
doSetMetaClassSets the meta class for an object, by delegating to the appropriateDefaultGroovyMethodshelper 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.- Parameters:
- self- the object for which to set the meta class
- mc- the metaclass
 
- 
convertPropertyNamepublic static java.lang.String convertPropertyName(java.lang.String prop)Converts a String into a standard property name.- Parameters:
- prop- the original name
- Returns:
- the converted name
 
 
-