org.apache.openjpa.enhance
Class ManagedClassSubclasser
java.lang.Object
org.apache.openjpa.enhance.ManagedClassSubclasser
public class ManagedClassSubclasser
- extends Object
Redefines the method bodies of existing unenhanced classes to make them
notify state managers of mutations.
- Since:
- 1.0.0
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ManagedClassSubclasser
public ManagedClassSubclasser()
prepareUnenhancedClasses
public static List<Class<?>> prepareUnenhancedClasses(OpenJPAConfiguration conf,
Collection<? extends Class<?>> classes,
ClassLoader envLoader)
- For each element in
classes
, creates and registers a
new subclass that implements PersistenceCapable
, and prepares
OpenJPA to handle new instances of the unenhanced type. If this is
invoked in a Java 6 environment, this method will redefine the methods
for each class in the argument list such that field accesses are
intercepted in-line. If invoked in a Java 5 environment, this
redefinition is not possible; in these contexts, when using field
access, OpenJPA will need to do state comparisons to detect any change
to any instance at any time, and when using property access, OpenJPA
will need to do state comparisons to detect changes to newly inserted
instances after a flush has been called.
- Returns:
- the new subclasses, or
null
if classes
is null
.
- Throws:
UserException
- if conf
requires build-time
enhancement and classes
includes unenhanced types.- Since:
- 1.0.0
debugBytecodes
public static void debugBytecodes(serp.bytecode.BCClass bc)
throws IOException
- Throws:
IOException
Copyright © 2006-2012 Apache Software Foundation. All Rights Reserved.