Class Installer
java.lang.Object
net.bytebuddy.agent.Installer
An installer class which defined the hook-in methods that are required by the Java agent specification.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static InstrumentationA field for carrying theInstrumentationthat was loaded by the Byte Buddy agent.static final StringThe name of theInstallerclass that is stored in an obfuscated format which will not be relocated. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateThe installer provides onlystatichook-in methods and should not be instantiated. -
Method Summary
Modifier and TypeMethodDescriptionstatic voidagentmain(String arguments, Instrumentation instrumentation) Allows the installation of this agent via the attach API.private static voiddoMain(Instrumentation instrumentation) Installs theInstrumentationin the current class and possibly obfuscated class.static InstrumentationReturns the instrumentation that was loaded by the Byte Buddy agent.static voidpremain(String arguments, Instrumentation instrumentation) Allows the installation of this agent via a command line argument.
-
Field Details
-
NAME
-
instrumentation
A field for carrying theInstrumentationthat was loaded by the Byte Buddy agent. Note that this field must never be accessed directly as the agent is injected into the VM's system class loader. This way, the field of this class might benulleven after the installation of the Byte Buddy agent as this class might be loaded by a different class loader than the system class loader.
-
-
Constructor Details
-
Installer
private Installer()The installer provides onlystatichook-in methods and should not be instantiated.
-
-
Method Details
-
getInstrumentation
Returns the instrumentation that was loaded by the Byte Buddy agent. When a security manager is active, the
RuntimePermissionforgetInstrumentationis required by the caller.Important: This method must only be invoked via the
ClassLoader.getSystemClassLoader()where any Java agent is loaded. It is possible that two versions of this class exist for different class loaders.- Returns:
- The instrumentation instance of the Byte Buddy agent.
-
premain
Allows the installation of this agent via a command line argument.- Parameters:
arguments- The unused agent arguments.instrumentation- The instrumentation instance.
-
agentmain
Allows the installation of this agent via the attach API.- Parameters:
arguments- The unused agent arguments.instrumentation- The instrumentation instance.
-
doMain
Installs theInstrumentationin the current class and possibly obfuscated class.- Parameters:
instrumentation- The instrumentation instance.
-