Class ClassFileLocator.AgentBased.Dispatcher.ForJava6CapableVm

    • Field Detail

      • isRetransformClassesSupported

        private final java.lang.reflect.Method isRetransformClassesSupported
        The Instrumentation#isRetransformClassesSupported method.
      • addTransformer

        private final java.lang.reflect.Method addTransformer
        The Instrumentation#addTransformer method.
      • retransformClasses

        private final java.lang.reflect.Method retransformClasses
        The Instrumentation#retransformClasses method.
    • Constructor Detail

      • ForJava6CapableVm

        protected ForJava6CapableVm​(java.lang.reflect.Method isRetransformClassesSupported,
                                    java.lang.reflect.Method addTransformer,
                                    java.lang.reflect.Method retransformClasses)
        Creates a dispatcher for a Java 6 capable VM.
        Parameters:
        isRetransformClassesSupported - The Instrumentation#isRetransformClassesSupported method.
        addTransformer - The Instrumentation#addTransformer method.
        retransformClasses - The Instrumentation#retransformClasses method.
    • Method Detail

      • isRetransformClassesSupported

        public boolean isRetransformClassesSupported​(java.lang.instrument.Instrumentation instrumentation)
        Invokes the Instrumentation#isRetransformClassesSupported method.
        Specified by:
        isRetransformClassesSupported in interface ClassFileLocator.AgentBased.Dispatcher
        Parameters:
        instrumentation - The instrumentation instance to invoke the method on.
        Returns:
        true if the supplied instrumentation instance supports retransformation.
      • addTransformer

        public void addTransformer​(java.lang.instrument.Instrumentation instrumentation,
                                   java.lang.instrument.ClassFileTransformer classFileTransformer,
                                   boolean canRetransform)
        Registers a transformer.
        Specified by:
        addTransformer in interface ClassFileLocator.AgentBased.Dispatcher
        Parameters:
        instrumentation - The instrumentation instance to invoke the method on.
        classFileTransformer - The class file transformer to register.
        canRetransform - true if the class file transformer should be invoked upon a retransformation.
      • retransformClasses

        public void retransformClasses​(java.lang.instrument.Instrumentation instrumentation,
                                       java.lang.Class<?>[] type)
                                throws java.lang.instrument.UnmodifiableClassException
        Retransforms the supplied classes.
        Specified by:
        retransformClasses in interface ClassFileLocator.AgentBased.Dispatcher
        Parameters:
        instrumentation - The instrumentation instance to invoke the method on.
        type - The types to retransform.
        Throws:
        java.lang.instrument.UnmodifiableClassException - If any of the supplied types are unmodifiable.