Class ClassReloadingStrategy.Strategy.ClassRedefinitionTransformer

  • All Implemented Interfaces:
    java.lang.instrument.ClassFileTransformer
    Enclosing class:
    ClassReloadingStrategy.Strategy

    protected static class ClassReloadingStrategy.Strategy.ClassRedefinitionTransformer
    extends java.lang.Object
    implements java.lang.instrument.ClassFileTransformer
    A class file transformer that applies a given ClassDefinition.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.Map<java.lang.Class<?>,​java.lang.instrument.ClassDefinition> redefinedClasses
      A mapping of classes to be redefined to their redefined class definitions.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ClassRedefinitionTransformer​(java.util.Map<java.lang.Class<?>,​java.lang.instrument.ClassDefinition> redefinedClasses)
      Creates a new class redefinition transformer.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void assertTransformation()
      Validates that all given classes were redefined.
      byte[] transform​(java.lang.ClassLoader classLoader, java.lang.String internalTypeName, 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
      • Methods inherited from interface java.lang.instrument.ClassFileTransformer

        transform
    • Field Detail

      • redefinedClasses

        private final java.util.Map<java.lang.Class<?>,​java.lang.instrument.ClassDefinition> redefinedClasses
        A mapping of classes to be redefined to their redefined class definitions.
    • Constructor Detail

      • ClassRedefinitionTransformer

        protected ClassRedefinitionTransformer​(java.util.Map<java.lang.Class<?>,​java.lang.instrument.ClassDefinition> redefinedClasses)
        Creates a new class redefinition transformer.
        Parameters:
        redefinedClasses - A mapping of classes to be redefined to their redefined class definitions.
    • Method Detail

      • transform

        public byte[] transform​(java.lang.ClassLoader classLoader,
                                java.lang.String internalTypeName,
                                java.lang.Class<?> classBeingRedefined,
                                java.security.ProtectionDomain protectionDomain,
                                byte[] classfileBuffer)
        Specified by:
        transform in interface java.lang.instrument.ClassFileTransformer
      • assertTransformation

        public void assertTransformation()
        Validates that all given classes were redefined.