Class DynamicType.Default.Unloaded<T>

    • Field Detail

      • typeResolutionStrategy

        private final TypeResolutionStrategy.Resolved typeResolutionStrategy
        The type resolution strategy to use for initializing the dynamic type.
    • Constructor Detail

      • Unloaded

        public Unloaded​(TypeDescription typeDescription,
                        byte[] binaryRepresentation,
                        LoadedTypeInitializer loadedTypeInitializer,
                        java.util.List<? extends DynamicType> auxiliaryTypes,
                        TypeResolutionStrategy.Resolved typeResolutionStrategy)
        Creates a new unloaded representation of a dynamic type.
        Parameters:
        typeDescription - A description of this dynamic type.
        binaryRepresentation - An array of byte of the binary representation of this dynamic type.
        loadedTypeInitializer - The type initializer of this dynamic type.
        auxiliaryTypes - The auxiliary types that are required for this dynamic type.
        typeResolutionStrategy - The type resolution strategy to use for initializing the dynamic type.
    • Method Detail

      • load

        public DynamicType.Loaded<T> load​(java.lang.ClassLoader classLoader)

        Attempts to load this dynamic type including all of its auxiliary types, if any. If the class loader is an unsealed instance of InjectionClassLoader, the classes are injected directy into the class loader, otherwise, a new class loader is created where the supplied class loader is set as parent.

        Note: A new class is attempted to be loaded each time this method is invoked, even if a compatible class was created previously. Consider using a TypeCache.

        Specified by:
        load in interface DynamicType.Unloaded<T>
        Parameters:
        classLoader - The class loader to use for this class loading.
        Returns:
        This dynamic type in its loaded state.
      • load

        public <S extends java.lang.ClassLoader> DynamicType.Loaded<T> load​(S classLoader,
                                                                            ClassLoadingStrategy<? super S> classLoadingStrategy)

        Attempts to load this dynamic type including all of its auxiliary types, if any.

        Note: A new class is attempted to be loaded each time this method is invoked, even if a compatible class was created previously. Consider using a TypeCache.

        Specified by:
        load in interface DynamicType.Unloaded<T>
        Type Parameters:
        S - The least specific type of class loader this strategy can apply to.
        Parameters:
        classLoader - The class loader to use for this class loading.
        classLoadingStrategy - The class loader strategy which should be used for this class loading.
        Returns:
        This dynamic type in its loaded state.
        See Also:
        ClassLoadingStrategy.Default
      • include

        public DynamicType.Unloaded<T> include​(DynamicType... dynamicType)
        Includes the provided dynamic types as auxiliary types of this instance.
        Specified by:
        include in interface DynamicType.Unloaded<T>
        Parameters:
        dynamicType - The dynamic types to include.
        Returns:
        A copy of this unloaded dynamic type which includes the provided dynamic types.
      • include

        public DynamicType.Unloaded<T> include​(java.util.List<? extends DynamicType> dynamicType)
        Includes the provided dynamic types as auxiliary types of this instance.
        Specified by:
        include in interface DynamicType.Unloaded<T>
        Parameters:
        dynamicType - The dynamic types to include.
        Returns:
        A copy of this unloaded dynamic type which includes the provided dynamic types.