Overview | Package | Class | Deprecated | Index | Help
| Groovy Documentation
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.groovy.reflection
[Java] Class ReflectionUtils

    java.lang.Object
      org.codehaus.groovy.reflection.ReflectionUtils

    public class ReflectionUtils
    extends java.lang.Object

This class contains utility methods to determine which class called the current class to multiple levels of depth. Calls used to handle the groovy MOP are excluded from the level counting.

Method Summary
`static java.lang.Class` | `getCallingClass()` Get the immediate calling class, ignoring MOP frames.
`static java.lang.Class` | `getCallingClass(int matchLevel)` Get the called that is matchLevel stack frames before the call, ignoring MOP frames.
`static java.lang.Class` | `getCallingClass(int matchLevel, java.util.Collection extraIgnoredPackages)` Get the called that is matchLevel stack frames before the call, ignoring MOP frames and desired exclude packages.
`static boolean` | `isCallingClassReflectionAvailable()` Determine whether or not the getCallingClass methods will return any sensible results.

Methods inherited from class java.lang.Object
java.lang.Object#wait(long), java.lang.Object#wait(long, int), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll()

Method Detail

### getCallingClass

    public static java.lang.Class getCallingClass()

  Get the immediate calling class, ignoring MOP frames.
  Returns:
    The Class of the caller

### getCallingClass

    public static java.lang.Class getCallingClass(int matchLevel)

  Get the called that is matchLevel stack frames before the call, ignoring MOP frames.
  Parameters:
    `matchLevel` - how may call stacks down to look. If it is less than 1 it is treated as though it was 1.
  Returns:
    The Class of the matched caller, or null if there aren't enough stackframes to satisfy matchLevel

### getCallingClass

    public static java.lang.Class getCallingClass(int matchLevel, java.util.Collection extraIgnoredPackages)

  Get the called that is matchLevel stack frames before the call, ignoring MOP frames and desired exclude packages.
  Parameters:
    `matchLevel` - how may call stacks down to look. If it is less than 1 it is treated as though it was 1.
    `extraIgnoredPackages` - A collection of string names of packages to exclude in addition to the MOP packages when counting stack frames.
  Returns:
    The Class of the matched caller, or null if there aren't enough stackframes to satisfy matchLevel

### isCallingClassReflectionAvailable

    public static boolean isCallingClassReflectionAvailable()

  Determine whether or not the getCallingClass methods will return any sensible results. On JVMs that are not Sun derived i.e. (gcj, Harmony) this will likely return false. When not available all getCallingClass methods will return null.
  Returns:
    true if getCallingClass can return anything but null, false if it will only return null.

Groovy Documentation