Class ClassLoadingStrategy.ForUnsafeInjection

  • All Implemented Interfaces:
    ClassLoadingStrategy<java.lang.ClassLoader>
    Enclosing interface:
    ClassLoadingStrategy<T extends java.lang.ClassLoader>

    public static class ClassLoadingStrategy.ForUnsafeInjection
    extends java.lang.Object
    implements ClassLoadingStrategy<java.lang.ClassLoader>
    A class loading strategy that injects a class using sun.misc.Unsafe.
    • Constructor Detail

      • ForUnsafeInjection

        public ForUnsafeInjection()
        Creates a new class loading strategy for unsafe injection with a default protection domain.
      • ForUnsafeInjection

        public ForUnsafeInjection​(java.security.ProtectionDomain protectionDomain)
        Creates a new class loading strategy for unsafe injection.
        Parameters:
        protectionDomain - The protection domain to use.
    • Method Detail

      • load

        public java.util.Map<TypeDescription,​java.lang.Class<?>> load​(java.lang.ClassLoader classLoader,
                                                                            java.util.Map<TypeDescription,​byte[]> types)
        Description copied from interface: ClassLoadingStrategy
        Loads a given collection of classes given their binary representation.
        Specified by:
        load in interface ClassLoadingStrategy<java.lang.ClassLoader>
        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.