Class BlockExitTransformer

  • All Implemented Interfaces:
    java.lang.instrument.ClassFileTransformer

    public class BlockExitTransformer
    extends java.lang.Object
    implements java.lang.instrument.ClassFileTransformer
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.net.URLClassLoader classLoader  
      private org.apache.maven.plugin.logging.Log logger  
    • 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
      void close()  
      private org.objectweb.asm.ClassWriter createClassWriter()
      Creates a new ClassWriter that uses the dedicated ClassLoader of this transformer.
      byte[] transform​(java.lang.ClassLoader loader, java.lang.String className, java.lang.Class<?> classBeingRedefined, java.security.ProtectionDomain protectionDomain, byte[] classfileBuffer)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • classLoader

        private final java.net.URLClassLoader classLoader
      • logger

        private final org.apache.maven.plugin.logging.Log logger
    • Constructor Detail

      • BlockExitTransformer

        BlockExitTransformer​(java.net.URLClassLoader classLoader,
                             org.apache.maven.plugin.logging.Log logger)
    • 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:
        transform in interface java.lang.instrument.ClassFileTransformer
        Throws:
        java.lang.instrument.IllegalClassFormatException
      • createClassWriter

        private org.objectweb.asm.ClassWriter createClassWriter()
        Creates a new ClassWriter that uses the dedicated ClassLoader of this transformer.

        For bigger and more complicated classes ClassWriter requires 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