Package org.aspectj.weaver.loadtime
Interface ClassPreProcessor
- All Known Implementing Classes:
Aj
public interface ClassPreProcessor
Generic class pre processor interface that allows to separate the AspectJ 5 load time weaving from Java 5 JVMTI interfaces for
further use on Java 1.3 / 1.4
- Author:
- Alexandre Vasseur, Andy Clement
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Post constructor initialization, usually emptyvoid
prepareForRedefinition
(ClassLoader loader, String className) byte[]
preProcess
(String className, byte[] bytes, ClassLoader classLoader, ProtectionDomain protectionDomain)
-
Method Details
-
initialize
void initialize()Post constructor initialization, usually empty -
preProcess
byte[] preProcess(String className, byte[] bytes, ClassLoader classLoader, ProtectionDomain protectionDomain) - Parameters:
className
- the name of the class in the internal form of fully qualified class and interface names as defined in The Java Virtual Machine Specification. For example,"java/util/List"
.bytes
- the input byte buffer in class file format - must not be modifiedclassLoader
- the defining loader of the class to be transformed, may benull
if the bootstrap loaderprotectionDomain
- the protection domain of the class being defined or redefined- Returns:
- a well-formed class file buffer (weaving result), or
null
if no weaving was performed - See Also:
-
prepareForRedefinition
-