Interface ClassLoadingStrategy<T extends ClassLoader>

Type Parameters:
T - The least specific type of class loader this strategy can apply to.
All Known Subinterfaces:
ClassLoadingStrategy.Configurable<S>
All Known Implementing Classes:
ClassLoadingStrategy.Default, ClassLoadingStrategy.Default.InjectionDispatcher, ClassLoadingStrategy.Default.WrappingDispatcher, ClassLoadingStrategy.ForBootstrapInjection, ClassLoadingStrategy.ForJnaInjection, ClassLoadingStrategy.ForUnsafeInjection, ClassLoadingStrategy.UsingLookup, ClassReloadingStrategy, InjectionClassLoader.Strategy

public interface ClassLoadingStrategy<T extends ClassLoader>
A strategy for loading a collection of types.
  • Field Details

    • BOOTSTRAP_LOADER

      @AlwaysNull static final ClassLoader BOOTSTRAP_LOADER
      A type-safe constant representing the bootstrap class loader which is represented by null within Java.
    • NO_PROTECTION_DOMAIN

      @AlwaysNull static final ProtectionDomain NO_PROTECTION_DOMAIN
      An undefined protection domain.
  • Method Details

    • load

      Map<TypeDescription,Class<?>> load(@MaybeNull T classLoader, Map<TypeDescription,byte[]> types)
      Loads a given collection of classes given their binary representation.
      Parameters:
      classLoader - The class loader to used for loading the classes.
      types - Byte array representations of the types to be loaded mapped by their descriptions, where an iteration order defines an order in which they are supposed to be loaded, if relevant.
      Returns:
      A collection of the loaded classes which will be initialized in the iteration order of the returned collection.