Package org.datanucleus.enhancer
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.
-
ClassDescriptionInterface representation of an enhancer of a class.Class enhancer using ASM (see http://asm.objectweb.org but included in DataNucleus core repackaged).Convenience class to look up the class name for a file.Representation of a field that an enhanced class requires.Representation of a method that an enhanced class requires.Helper used by
DataNucleusEnhancer.main(String[])
to process the command line arguments.Entry Point (as per Java) for transforming classes at runtime.DataNucleus Byte-Code Enhancer.Helper class for the DN bytecode enhancement contract.Helper class to manage persistable classes.Interface defining the naming of fields/classes used in enhancement.NucleusContext to use when enhancing.Adapter visitor class for providing enhancement of an existing class using ASM.Visitor used to check the enhancement state of a class.ClassLoader for newly defined classes.Adapter for clone() method in persistence-enabled classes.Adapter for methods in persistence-enabled classes allowing enhancement of direct access to user fields.Adapter for property getter methods in persistence-enabled classes.Adapter for property setter methods in persistence-enabled classes.Enhancer Ant Task.Utility class for bytecode enhancement using ASM.Create instances of persistable objects.Creator of persistable objects using the ASM bytecode manipulation library.Implementation generator using ASM bytecode manipulation library.Definition of enhancement naming, for use with the JDO API.Definition of enhancement naming for use with the JPA/Jakarta APIs.Exception thrown during enhancement when an error occurs.Class to handle the generation of a PK class for a persistable class.Class that will enhance a class at runtime, called via "javaagent".This classloader is used to load any classes that are necessary during enhancement process, and avoid using application classloaders to load classes