Package org.codehaus.groovy.reflection
Class ReflectionUtils
- java.lang.Object
- 
- org.codehaus.groovy.reflection.ReflectionUtils
 
- 
 public class ReflectionUtils extends 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.
- 
- 
Constructor SummaryConstructors Constructor Description ReflectionUtils()
 - 
Method SummaryAll Methods Static Methods Concrete Methods Modifier and Type Method Description static booleancheckAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess)static booleancheckCanSetAccessible(AccessibleObject accessibleObject, Class<?> caller)static ClassgetCallingClass()Gets the immediate calling class, ignoring MOP frames.static ClassgetCallingClass(int matchLevel)Gets the called that is matchLevel stack frames before the call, ignoring MOP frames.static ClassgetCallingClass(int matchLevel, Collection<String> extraIgnoredPackages)Gets the called that is matchLevel stack frames before the call, ignoring MOP frames and desired exclude packages.static List<Method>getDeclaredMethods(Class<?> type, String name, Class<?>... parameterTypes)static List<Method>getMethods(Class<?> type, String name, Class<?>... parameterTypes)static booleanisCallingClassReflectionAvailable()Determines whether or not the getCallingClass methods will return any sensible results.static Optional<AccessibleObject>makeAccessible(AccessibleObject ao)static AccessibleObject[]makeAccessible(AccessibleObject[] aoa)static Optional<AccessibleObject>makeAccessibleInPrivilegedAction(AccessibleObject ao)static booleantrySetAccessible(AccessibleObject ao)
 
- 
- 
- 
Method Detail- 
isCallingClassReflectionAvailablepublic static boolean isCallingClassReflectionAvailable() Determines 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.
 
 - 
getCallingClasspublic static Class getCallingClass() Gets the immediate calling class, ignoring MOP frames.- Returns:
- The Class of the caller
 
 - 
getCallingClasspublic static Class getCallingClass(int matchLevel) Gets 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
 
 - 
getCallingClasspublic static Class getCallingClass(int matchLevel, Collection<String> extraIgnoredPackages) Gets 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
 
 - 
getDeclaredMethodspublic static List<Method> getDeclaredMethods(Class<?> type, String name, Class<?>... parameterTypes) 
 - 
getMethodspublic static List<Method> getMethods(Class<?> type, String name, Class<?>... parameterTypes) 
 - 
checkCanSetAccessiblepublic static boolean checkCanSetAccessible(AccessibleObject accessibleObject, Class<?> caller) 
 - 
checkAccessiblepublic static boolean checkAccessible(Class<?> callerClass, Class<?> declaringClass, int memberModifiers, boolean allowIllegalAccess) 
 - 
trySetAccessiblepublic static boolean trySetAccessible(AccessibleObject ao) 
 - 
makeAccessibleInPrivilegedActionpublic static Optional<AccessibleObject> makeAccessibleInPrivilegedAction(AccessibleObject ao) 
 - 
makeAccessiblepublic static Optional<AccessibleObject> makeAccessible(AccessibleObject ao) 
 - 
makeAccessiblepublic static AccessibleObject[] makeAccessible(AccessibleObject[] aoa) 
 
- 
 
-