Package org.codehaus.groovy.runtime

# Class MetaClassHelper

java.lang.Object
org.codehaus.groovy.runtime.MetaClassHelper

    public class MetaClassHelper
    extends Object

- ## Field Summary

  Fields
  Modifier and Type | Field | 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 Summary

  Constructors
  Constructor | Description
  --- | ---
  `MetaClassHelper()` |

- ## Method Summary

  Modifier and Type | Method | 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)` | Deprecated. Use BeanUtils.capitalize instead
  `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)` |

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### EMPTY_ARRAY

    public static final Object[] EMPTY_ARRAY

  - ### EMPTY_TYPE_ARRAY

    public static final Class[] EMPTY_TYPE_ARRAY

  - ### ARRAY_WITH_NULL

    public static final Object[] ARRAY_WITH_NULL

  - ### LOG

    protected static final Logger LOG

  - ### EMPTY_CLASS_ARRAY

    public static final Class[] EMPTY_CLASS_ARRAY

- ## Constructor Details

  - ### MetaClassHelper

    public MetaClassHelper()

- ## Method Details

  - ### accessibleToConstructor

    public static boolean accessibleToConstructor​(Class at, Constructor constructor)

  - ### asWrapperArray

    public static Object[] asWrapperArray​(Object parameters, Class componentType)

  - ### asPrimitiveArray

    public static Object asPrimitiveArray​(List list, Class parameterType)
    Parameters:
      `list` - the original list
      `parameterType` - the resulting array type
    Returns:
      the constructed array

  - ### calculateParameterDistance

    public static long calculateParameterDistance​(Class[] arguments, ParameterTypes pt)

  - ### capitalize

    @Deprecated public static String capitalize​(String property)
    Deprecated.
    Use BeanUtils.capitalize instead

  - ### chooseEmptyMethodParams

    public static Object chooseEmptyMethodParams​(FastArray methods)
    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 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

    public static boolean containsMatchingMethod​(List list, MetaMethod method)
    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

  - ### convertToTypeArray

    public static Class[] convertToTypeArray​(Object[] args)
    param instance array to the type array
    Parameters:
      `args` - the arguments
    Returns:
      the types of the arguments

  - ### makeCommonArray

    public static Object makeCommonArray​(Object[] arguments, int offset, Class fallback)

  - ### makeArray

    public static Object makeArray​(Object obj, Class secondary, int length)

  - ### createExceptionText

    public static GroovyRuntimeException createExceptionText​(String init, MetaMethod method, Object object, Object[] args, Throwable reason, boolean setReason)

  - ### getClassName

    protected static String getClassName​(Object object)

  - ### getMethodPointer

    public static Closure getMethodPointer​(Object object, String methodName)
    Returns 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

  - ### isAssignableFrom

    public static boolean isAssignableFrom​(Class classToTransformTo, Class classToTransformFrom)

  - ### isGenericSetMethod

    public static boolean isGenericSetMethod​(MetaMethod method)

  - ### isSuperclass

    protected static boolean isSuperclass​(Class clazz, Class superclass)

  - ### parametersAreCompatible

    public static boolean parametersAreCompatible​(Class[] arguments, Class[] parameters)

  - ### logMethodCall

    public static void logMethodCall​(Object object, String methodName, Object[] arguments)

  - ### normalizedValue

    protected static String normalizedValue​(Object argument)

  - ### shortName

    protected static String shortName​(Object object)

  - ### wrap

    public static Class[] wrap​(Class[] classes)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object[] arguments, boolean weakNullCheck)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object[] arguments)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object arg1)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object arg1, Object arg2)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object arg1, Object arg2, Object arg3)

  - ### sameClasses

    public static boolean sameClasses​(Class[] params, Object arg1, Object arg2, Object arg3, Object arg4)

  - ### sameClass

    public static boolean sameClass​(Class[] params, Object arg)

  - ### castArgumentsToClassArray

    public static Class[] castArgumentsToClassArray​(Object[] argTypes)

  - ### unwrap

    public static void unwrap​(Object[] arguments)

  - ### doSetMetaClass

    public static void doSetMetaClass​(Object self, MetaClass mc)
    Sets the meta class for an object, by delegating to the appropriate `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.
    Parameters:
      `self` - the object for which to set the meta class
      `mc` - the metaclass

  - ### convertPropertyName

    public static String convertPropertyName​(String prop)
    Converts a String into a standard property name.
    Parameters:
      `prop` - the original name
    Returns:
      the converted name