org.apache.openjpa.enhance
Class ClassRedefiner
java.lang.Object
org.apache.openjpa.enhance.ClassRedefiner
public class ClassRedefiner
- extends Object
Redefines the method bodies of existing classes. Supports Java 5 VMs that
have a java agent installed on the command line as well as newer VMs without
any -javaagent
flag.
- Since:
- 1.0.0
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassRedefiner
public ClassRedefiner()
redefineClasses
public static void redefineClasses(OpenJPAConfiguration conf,
Map<Class<?>,byte[]> classes)
- For each element in
classes
, this method will redefine
all the element's methods such that field accesses are intercepted
in-line. If #canRedefineClasses()
returns false
,
this method is a no-op.
canRedefineClasses
public static boolean canRedefineClasses(Log log)
- Returns:
- whether or not this VM has an instrumentation installed that
permits redefinition of classes. This assumes that all the arguments
will be modifiable classes according to
Instrumentation.isModifiableClass(java.lang.Class>)
, and
only checks whether or not an instrumentation is available and
if retransformation is possible.
Copyright © 2006-2010 Apache Software Foundation. All Rights Reserved.