Package org.codehaus.mojo.exec
Class BlockExitTransformer
- java.lang.Object
-
- org.codehaus.mojo.exec.BlockExitTransformer
-
- All Implemented Interfaces:
java.lang.instrument.ClassFileTransformer
public class BlockExitTransformer extends java.lang.Object implements java.lang.instrument.ClassFileTransformer
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classBlockExitTransformer.SystemExitOverrideVisitor
-
Field Summary
Fields Modifier and Type Field Description private java.net.URLClassLoaderclassLoaderprivate org.apache.maven.plugin.logging.Loglogger
-
Constructor Summary
Constructors Constructor Description BlockExitTransformer(java.net.URLClassLoader classLoader, org.apache.maven.plugin.logging.Log logger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()private org.objectweb.asm.ClassWritercreateClassWriter()Creates a newClassWriterthat uses the dedicatedClassLoaderof this transformer.byte[]transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer)
-
-
-
Method Detail
-
transform
public byte[] transform(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer) throws java.lang.instrument.IllegalClassFormatException- Specified by:
transformin interfacejava.lang.instrument.ClassFileTransformer- Throws:
java.lang.instrument.IllegalClassFormatException
-
createClassWriter
private org.objectweb.asm.ClassWriter createClassWriter()
Creates a newClassWriterthat uses the dedicatedClassLoaderof this transformer.For bigger and more complicated classes
ClassWriterrequires access to classloader where can found classes used in transformed class.- Returns:
- a new
ClassWriter
-
close
public void close() throws java.io.IOException- Throws:
java.io.IOException
-
-