Class TypeInitializer.Simple

java.lang.Object
net.bytebuddy.dynamic.scaffold.TypeInitializer.Simple
All Implemented Interfaces:
TypeInitializer, ByteCodeAppender
Enclosing interface:
TypeInitializer

@Enhance public static class TypeInitializer.Simple extends Object implements TypeInitializer
A simple, defined type initializer that executes a given ByteCodeAppender.
  • Field Details

    • byteCodeAppender

      private final ByteCodeAppender byteCodeAppender
      The byte code appender to apply as the type initializer.
  • Constructor Details

    • Simple

      public Simple(ByteCodeAppender byteCodeAppender)
      Creates a new simple type initializer.
      Parameters:
      byteCodeAppender - The byte code appender to apply as the type initializer.
  • Method Details

    • isDefined

      public boolean isDefined()
      Indicates if this type initializer is defined.
      Specified by:
      isDefined in interface TypeInitializer
      Returns:
      true if this type initializer is defined.
    • expandWith

      public TypeInitializer expandWith(ByteCodeAppender byteCodeAppender)
      Expands this type initializer with another byte code appender. For this to be possible, this type initializer must be defined.
      Specified by:
      expandWith in interface TypeInitializer
      Parameters:
      byteCodeAppender - The byte code appender to apply as the type initializer.
      Returns:
      A defined type initializer.
    • wrap

      Creates a method pool record that applies this type initializer while preserving the record that was supplied.
      Specified by:
      wrap in interface TypeInitializer
      Parameters:
      record - The record to wrap.
      Returns:
      A new record that represents the supplied record while also executing this type initializer.
    • apply

      public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
      Applies this byte code appender to a type creation process.
      Specified by:
      apply in interface ByteCodeAppender
      Parameters:
      methodVisitor - The method visitor to which the byte code appender writes its code to.
      implementationContext - The implementation context of the current type creation process.
      instrumentedMethod - The method that is the target of the instrumentation.
      Returns:
      The required size for the applied byte code to run.