Package org.datanucleus.enhancer
Class RuntimeEnhancer
- java.lang.Object
-
- org.datanucleus.enhancer.RuntimeEnhancer
-
public class RuntimeEnhancer extends Object
Class that will enhance a class at runtime, called via "javaagent".
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RuntimeEnhancer.EnhancerClassLoader
This classloader is used to load any classes that are necessary during enhancement process, and avoid using application classloaders to load classes
-
Constructor Summary
Constructors Constructor Description RuntimeEnhancer(String api, Map contextProps)
Constructor for a runtime enhancer for an API.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
enhance(String className, byte[] classdefinition, ClassLoader loader)
void
setClassEnhancerOption(String optionName)
void
unsetClassEnhancerOption(String optionName)
-
-
-
Constructor Detail
-
RuntimeEnhancer
public RuntimeEnhancer(String api, Map contextProps)
Constructor for a runtime enhancer for an API. Creates its own NucleusContext for enhancement. Note that this is because the NucleusContext currently is for runtime or enhancement, so we isolate things; in future we could take in the NucleusContext from whatever operation has it (e.g PMF, EMF).- Parameters:
api
- The APIcontextProps
- Properties for use by the NucleusContext (e.g ClassLoaderResolver class name, pluginRegistry).
-
-
Method Detail
-
setClassEnhancerOption
public void setClassEnhancerOption(String optionName)
-
unsetClassEnhancerOption
public void unsetClassEnhancerOption(String optionName)
-
enhance
public byte[] enhance(String className, byte[] classdefinition, ClassLoader loader)
-
-