Package org.datanucleus.enhancer
DataNucleus ByteCode enhancer framework. The DataNucleusEnhancer class is the typical entry point for command line usage. DataNucleus supports persistence where the persistable classes are bytecode enhanced to a particular contract to facilitate easier access to field values, and when fields are changed. The bytecode enhancement contract that is used here is based on the JDO bytecode enhancement contract, and uses ASM to perform the enhancement.
-
Interface Summary Interface Description ClassEnhancer Interface representation of an enhancer of a class.EnhancementHelper.RegisterClassListener EnhancementNamer Interface defining the naming of fields/classes used in enhancement.ImplementationCreator Create instances of persistable objects. -
Class Summary Class Description ClassEnhancerImpl Class enhancer using ASM (see http://asm.objectweb.org but included in DataNucleus core repackaged).ClassEnhancerImpl.MyClassVisitor Convenience class to look up the class name for a file.ClassField Representation of a field that an enhanced class requires.ClassMethod Representation of a method that an enhanced class requires.DataNucleusClassFileTransformer Entry Point (as per Java) for transforming classes at runtime.DataNucleusEnhancer DataNucleus Byte-Code Enhancer.EnhancementHelper Helper class for the DN bytecode enhancement contract.EnhancementNucleusContextImpl NucleusContext to use when enhancing.EnhancerClassAdapter Adapter visitor class for providing enhancement of an existing class using ASM.EnhancerClassChecker Visitor used to check the enhancement state of a class.EnhancerClassLoader ClassLoader for newly defined classes.EnhancerCloneAdapter Adapter for clone() method in persistence-enabled classes.EnhancerMethodAdapter Adapter for methods in persistence-enabled classes allowing enhancement of direct access to user fields.EnhancerPropertyGetterAdapter Adapter for property getter methods in persistence-enabled classes.EnhancerPropertySetterAdapter Adapter for property setter methods in persistence-enabled classes.EnhancerTask Enhancer Ant Task.EnhanceUtils Utility class for bytecode enhancement using ASM.ImplementationCreatorImpl Creator of persistable objects using the ASM bytecode manipulation library.ImplementationGenerator Implementation generator using ASM bytecode manipulation library.JDOEnhancementNamer Definition of enhancement naming, for use with the JDO API.JPAEnhancementNamer Definition of enhancement naming for use with the JPA/Jakarta APIs.PrimaryKeyGenerator Class to handle the generation of a PK class for a persistable class.RuntimeEnhancer Class that will enhance a class at runtime, called via "javaagent".RuntimeEnhancer.EnhancerClassLoader This classloader is used to load any classes that are necessary during enhancement process, and avoid using application classloaders to load classes -
Exception Summary Exception Description NucleusEnhanceException Exception thrown during enhancement when an error occurs.