Package org.apache.openjpa.enhance
Class ClassRedefiner
java.lang.Object
org.apache.openjpa.enhance.ClassRedefiner
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
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic boolean
canRedefineClasses
(Log log) static void
redefineClasses
(OpenJPAConfiguration conf, Map<Class<?>, byte[]> classes) For each element inclasses
, this method will redefine all the element's methods such that field accesses are intercepted in-line.
-
Constructor Details
-
ClassRedefiner
public ClassRedefiner()
-
-
Method Details
-
redefineClasses
For each element inclasses
, this method will redefine all the element's methods such that field accesses are intercepted in-line. IfcanRedefineClasses(Log)
returnsfalse
, this method is a no-op. -
canRedefineClasses
- 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.
-