Package net.bytebuddy.dynamic.loading
This package contains classes that are responsible for class loading of classes that are represented by
byte
arrays.-
Interface Summary Interface Description ByteArrayClassLoader.PackageLookupStrategy A package lookup strategy for locating a package by name.ByteArrayClassLoader.SynchronizationStrategy An engine for receiving a class loading lock when loading a class.ByteArrayClassLoader.SynchronizationStrategy.Initializable An uninitialized synchronization strategy.ClassInjector A class injector is capable of injecting classes into aClassLoader
without requiring the class loader to being able to explicitly look up these classes.ClassInjector.UsingInstrumentation.Dispatcher A dispatcher to interact with the instrumentation API.ClassInjector.UsingLookup.Dispatcher A dispatcher for interacting with a method handle lookup.ClassInjector.UsingReflection.Dispatcher A dispatcher for accessing aClassLoader
reflectively.ClassInjector.UsingReflection.Dispatcher.Initializable Initializes a dispatcher to make non-accessible APIs accessible.ClassInjector.UsingUnsafe.Dispatcher A dispatcher for usingsun.misc.Unsafe
.ClassInjector.UsingUnsafe.Dispatcher.Initializable A class injection dispatcher that is not yet initialized.ClassInjector.UsingUnsafe.Factory.AccessResolver An access resolver that invokesAccessibleObject.setAccessible(boolean)
totrue
in a given privilege scope.ClassLoadingStrategy<T extends java.lang.ClassLoader> A strategy for loading a collection of types.ClassLoadingStrategy.Configurable<S extends java.lang.ClassLoader> AClassLoadingStrategy
that allows configuring the strategy's behavior.ClassReloadingStrategy.BootstrapInjection A strategy to apply for injecting classes into the bootstrap class loader.ClassReloadingStrategy.Dispatcher A dispatcher to interact with the instrumentation API.PackageDefinitionStrategy A package definer is responsible for defining a package's properties when a class of a new package is loaded.PackageDefinitionStrategy.Definition A definition of a package.PackageDefinitionStrategy.ManifestReading.SealBaseLocator A locator for a seal base URL. -
Class Summary Class Description ByteArrayClassLoader AClassLoader
that is capable of loading explicitly defined classes.ByteArrayClassLoader.ChildFirst AByteArrayClassLoader
which applies child-first semantics for the given type definitions.ByteArrayClassLoader.ChildFirst.PrependingEnumeration An enumeration that prepends an element to another enumeration and skips the last element of the provided enumeration.ByteArrayClassLoader.PackageLookupStrategy.ForJava9CapableVm A package lookup strategy for Java 9 or newer.ByteArrayClassLoader.PersistenceHandler.UrlDefinitionAction An action to define a URL that represents a class file.ByteArrayClassLoader.PersistenceHandler.UrlDefinitionAction.ByteArrayUrlStreamHandler A stream handler that returns the given binary representation.ByteArrayClassLoader.PersistenceHandler.UrlDefinitionAction.ByteArrayUrlStreamHandler.ByteArrayUrlConnection A URL connection for a given byte array.ByteArrayClassLoader.SingletonEnumeration An enumeration that contains a single element.ByteArrayClassLoader.SynchronizationStrategy.ForJava7CapableVm A synchronization engine for a VM that is aware of parallel-capable class loaders.ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm A synchronization engine for a VM that is aware of parallel-capable class loaders using method handles to respect module boundaries.ClassInjector.AbstractBase An abstract base implementation of a class injector.ClassInjector.UsingInstrumentation A class injector using aInstrumentation
to append to either the boot classpath or the system class path.ClassInjector.UsingInstrumentation.Dispatcher.ForJava6CapableVm A dispatcher for a VM that is capable of appending to the boot and system class loader.ClassInjector.UsingLookup A class injector that uses ajava.lang.invoke.MethodHandles$Lookup
object for defining a class.ClassInjector.UsingLookup.Dispatcher.ForJava9CapableVm A dispatcher for a Java 9 capable VM that supports class definition via method handles.ClassInjector.UsingReflection A class injector that uses reflective method calls.ClassInjector.UsingReflection.Dispatcher.Direct A class injection dispatcher that is using reflection on theClassLoader
methods.ClassInjector.UsingReflection.Dispatcher.Direct.ForJava7CapableVm A resolved class dispatcher for a class injector on a VM running at least Java 7.ClassInjector.UsingReflection.Dispatcher.Direct.ForLegacyVm A resolved class dispatcher for a class injector prior to Java 7.ClassInjector.UsingReflection.Dispatcher.Initializable.Unavailable Represents an unsuccessfully loaded method lookup.ClassInjector.UsingReflection.Dispatcher.Unavailable Represents an unsuccessfully loaded method lookup.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection An indirect dispatcher that uses a redirection accessor class that was injected into the bootstrap class loader.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeOverride A dispatcher implementation that usessun.misc.Unsafe#putBoolean
to set theAccessibleObject
field for making methods accessible.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeOverride.ForJava7CapableVm A resolved class dispatcher using unsafe field injection for a class injector on a VM running at least Java 7.ClassInjector.UsingReflection.Dispatcher.UsingUnsafeOverride.ForLegacyVm A resolved class dispatcher using unsafe field injection for a class injector prior to Java 7.ClassInjector.UsingUnsafe A class injector that usessun.misc.Unsafe
to inject classes.ClassInjector.UsingUnsafe.Dispatcher.Enabled An enabled dispatcher.ClassInjector.UsingUnsafe.Dispatcher.Unavailable A disabled dispatcher.ClassInjector.UsingUnsafe.Factory A factory for creating aClassInjector
that usessun.misc.Unsafe
if available but attempts a fallback to usingjdk.internal.misc.Unsafe
if thejdk.internal
module is not resolved or unavailable.ClassLoadingStrategy.Default.InjectionDispatcher A class loading strategy which applies a class loader injection while applying a givenProtectionDomain
on class injection.ClassLoadingStrategy.Default.WrappingDispatcher A class loading strategy which creates a wrapping class loader while applying a givenProtectionDomain
on class loading.ClassLoadingStrategy.ForBootstrapInjection A class loading strategy which allows class injection into the bootstrap class loader if appropriate.ClassLoadingStrategy.ForUnsafeInjection A class loading strategy that injects a class usingsun.misc.Unsafe
.ClassLoadingStrategy.UsingLookup A class loading strategy that uses ajava.lang.invoke.MethodHandles$Lookup
instance for defining types.ClassReloadingStrategy The class reloading strategy allows to redefine loadedClass
es.ClassReloadingStrategy.BootstrapInjection.Enabled An enabled bootstrap class loader injection strategy.ClassReloadingStrategy.Dispatcher.ForJava6CapableVm A dispatcher for a Java 6 capable VM that is potentially capable of retransformation.ClassReloadingStrategy.Strategy.ClassRedefinitionTransformer A class file transformer that applies a givenClassDefinition
.InjectionClassLoader An injection class loader allows for the injection of a class after the class loader was created.MultipleParentClassLoader ThisClassLoader
is capable of loading classes from multiple parents.MultipleParentClassLoader.Builder A builder to collect class loader and that creates aMultipleParentClassLoader
only if multiple or noClassLoader
s are found in the process.MultipleParentClassLoader.CompoundEnumeration A compound URL enumeration.PackageDefinitionStrategy.Definition.Simple A simple package definition where any property is represented by a value.PackageDefinitionStrategy.ManifestReading A package definer that reads a class loader's manifest file.PackageDefinitionStrategy.ManifestReading.SealBaseLocator.ForFixedValue A seal base locator that seals all packages with a fixed URL.PackageDefinitionStrategy.ManifestReading.SealBaseLocator.ForTypeResourceUrl A seal base locator that imitates the behavior of aURLClassLoader
, i.e. -
Enum Summary Enum Description ByteArrayClassLoader.EmptyEnumeration An enumeration without any elements.ByteArrayClassLoader.PackageLookupStrategy.CreationAction A creation action for a package lookup strategy.ByteArrayClassLoader.PackageLookupStrategy.ForLegacyVm A package lookup strategy for a VM prior to Java 9.ByteArrayClassLoader.PersistenceHandler A persistence handler decides on whether the byte array that represents a loaded class is exposed by theClassLoader.getResourceAsStream(String)
method.ByteArrayClassLoader.SynchronizationStrategy.CreationAction A creation action for a synchronization strategy.ByteArrayClassLoader.SynchronizationStrategy.ForLegacyVm A synchronization engine for a VM that is not aware of parallel-capable class loaders.ClassInjector.UsingInstrumentation.Dispatcher.CreationAction An action to create a dispatcher for interacting with the instrumentation API.ClassInjector.UsingInstrumentation.Dispatcher.ForLegacyVm A dispatcher for a legacy VM that is not capable of appending jar files using instrumentation.ClassInjector.UsingInstrumentation.Target A representation of the target to which Java classes should be appended to.ClassInjector.UsingLookup.Dispatcher.Creator An action for defining a dispatcher.ClassInjector.UsingLookup.Dispatcher.ForLegacyVm A dispatcher for a legacy VM that does not support class definition via method handles.ClassInjector.UsingReflection.Dispatcher.CreationAction A creation action for a dispatcher.ClassInjector.UsingUnsafe.Dispatcher.CreationAction A privileged action for creating a dispatcher.ClassInjector.UsingUnsafe.Factory.AccessResolver.Default A default access resolver that uses Byte Buddy's privilege scope.ClassLoadingStrategy.Default This class contains implementations of default class loading strategies.ClassReloadingStrategy.BootstrapInjection.Disabled A disabled bootstrap injection strategy.ClassReloadingStrategy.Dispatcher.CreationAction An action to create an appropriateClassReloadingStrategy.Dispatcher
.ClassReloadingStrategy.Dispatcher.ForLegacyVm A dispatcher for a legacy VM that does not support retransformation.ClassReloadingStrategy.Strategy A strategy which performs the actual redefinition of aClass
.ClassReloadingStrategy.Strategy.ClassResettingTransformer A transformer that indicates that a class file should not be transformed.InjectionClassLoader.Strategy A class loading strategy for adding a type to an injection class loader.NoOpClassFileTransformer A class file transformer that does not apply a transformation.PackageDefinitionStrategy.Definition.Trivial A package definer that defines packages without any meta data.PackageDefinitionStrategy.Definition.Undefined A canonical implementation of an undefined package.PackageDefinitionStrategy.ManifestReading.SealBaseLocator.NonSealing A seal base locator that never seals a package.PackageDefinitionStrategy.NoOp A package definer that does not define any package.PackageDefinitionStrategy.Trivial A package definer that only defines packages without any meta data.