Interface ClassReloadingStrategy.Dispatcher

Enclosing class:
ClassReloadingStrategy

@Proxied("java.lang.instrument.Instrumentation") protected static interface ClassReloadingStrategy.Dispatcher
A dispatcher to interact with the instrumentation API.
  • Method Details

    • isModifiableClass

      boolean isModifiableClass(Instrumentation instrumentation, Class<?> type)
      Invokes the Instrumentation#isModifiableClass method.
      Parameters:
      instrumentation - The instrumentation instance to invoke the method on.
      type - The type to consider for modifiability.
      Returns:
      true if the supplied type can be modified.
    • isRetransformClassesSupported

      boolean isRetransformClassesSupported(Instrumentation instrumentation)
      Invokes the Instrumentation#isRetransformClassesSupported method.
      Parameters:
      instrumentation - The instrumentation instance to invoke the method on.
      Returns:
      true if the supplied instrumentation instance supports retransformation.
    • addTransformer

      void addTransformer(Instrumentation instrumentation, ClassFileTransformer classFileTransformer, boolean canRetransform)
      Registers a transformer.
      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

      void retransformClasses(Instrumentation instrumentation, Class<?>[] type) throws UnmodifiableClassException
      Retransforms the supplied classes.
      Parameters:
      instrumentation - The instrumentation instance to invoke the method on.
      type - The types to retransform.
      Throws:
      UnmodifiableClassException - If any of the supplied types are unmodifiable.