Package org.hibernate.bytecode
Class AbstractClassTransformerImpl
java.lang.Object
org.hibernate.bytecode.AbstractClassTransformerImpl
- All Implemented Interfaces:
ClassTransformer
- Direct Known Subclasses:
CglibClassTransformer,JavassistClassTransformer
Basic implementation of the
ClassTransformer contract.-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractClassTransformerImpl(ClassFilter classFilter, FieldFilter fieldFilter) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract byte[]doTransform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) byte[]transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) Invoked when a class is being loaded or redefined to add hooks for persistence bytecode manipulation
-
Field Details
-
classFilter
-
fieldFilter
-
-
Constructor Details
-
AbstractClassTransformerImpl
-
-
Method Details
-
transform
public byte[] transform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) Description copied from interface:ClassTransformerInvoked when a class is being loaded or redefined to add hooks for persistence bytecode manipulation- Specified by:
transformin interfaceClassTransformer- Parameters:
loader- the defining class loaderof the class being transformed. It may be null if using bootstrap loaderclassName- The name of the class being transformedclassBeingRedefined- If an already loaded class is being redefined, then pass this as a parameterprotectionDomain- ProtectionDomain of the class being (re)-definedclassfileBuffer- The input byte buffer in class file format- Returns:
- A well-formed class file that can be loaded
-
doTransform
protected abstract byte[] doTransform(ClassLoader loader, String className, Class classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer)
-