Package net.bytebuddy.dynamic.scaffold
Interface TypeInitializer
- All Superinterfaces:
ByteCodeAppender
- All Known Implementing Classes:
TypeInitializer.None
,TypeInitializer.Simple
A type initializer is responsible for defining a type's static initialization block.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interface
A drain for writing a type initializer.static enum
Canonical implementation of a non-defined type initializer.static class
A simple, defined type initializer that executes a givenByteCodeAppender
.Nested classes/interfaces inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
ByteCodeAppender.Compound, ByteCodeAppender.Size
-
Method Summary
Modifier and TypeMethodDescriptionexpandWith
(ByteCodeAppender byteCodeAppender) Expands this type initializer with another byte code appender.boolean
Indicates if this type initializer is defined.wrap
(TypeWriter.MethodPool.Record record) Creates a method pool record that applies this type initializer while preserving the record that was supplied.Methods inherited from interface net.bytebuddy.implementation.bytecode.ByteCodeAppender
apply
-
Method Details
-
isDefined
boolean isDefined()Indicates if this type initializer is defined.- Returns:
true
if this type initializer is defined.
-
expandWith
Expands this type initializer with another byte code appender. For this to be possible, this type initializer must be defined.- 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.- Parameters:
record
- The record to wrap.- Returns:
- A new record that represents the supplied record while also executing this type initializer.
-