Package net.bytebuddy.dynamic.loading
Class ByteArrayClassLoader.ChildFirst
- java.lang.Object
-
- java.lang.ClassLoader
-
- net.bytebuddy.dynamic.loading.InjectionClassLoader
-
- net.bytebuddy.dynamic.loading.ByteArrayClassLoader
-
- net.bytebuddy.dynamic.loading.ByteArrayClassLoader.ChildFirst
-
- Enclosing class:
- ByteArrayClassLoader
public static class ByteArrayClassLoader.ChildFirst extends ByteArrayClassLoader
A
ByteArrayClassLoader
which applies child-first semantics for the given type definitions.Important: Package definitions remain their parent-first semantics as loaded package definitions do not expose their class loaders. Also, it is not possible to make this class or its subclass parallel-capable as the loading strategy is overridden.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
ByteArrayClassLoader.ChildFirst.PrependingEnumeration
An enumeration that prepends an element to another enumeration and skips the last element of the provided enumeration.-
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.loading.ByteArrayClassLoader
ByteArrayClassLoader.ChildFirst, ByteArrayClassLoader.ClassDefinitionAction, ByteArrayClassLoader.EmptyEnumeration, ByteArrayClassLoader.PackageLookupStrategy, ByteArrayClassLoader.PersistenceHandler, ByteArrayClassLoader.SingletonEnumeration, ByteArrayClassLoader.SynchronizationStrategy
-
Nested classes/interfaces inherited from class net.bytebuddy.dynamic.loading.InjectionClassLoader
InjectionClassLoader.Strategy
-
-
Field Summary
-
Fields inherited from class net.bytebuddy.dynamic.loading.ByteArrayClassLoader
accessControlContext, classFileTransformer, packageDefinitionStrategy, persistenceHandler, protectionDomain, SYNCHRONIZATION_STRATEGY, typeDefinitions, URL_SCHEMA
-
-
Constructor Summary
Constructors Constructor Description ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions)
Creates a new child-first byte array class loader.ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, java.security.ProtectionDomain protectionDomain, ByteArrayClassLoader.PersistenceHandler persistenceHandler, PackageDefinitionStrategy packageDefinitionStrategy)
Creates a new child-first byte array class loader.ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, java.security.ProtectionDomain protectionDomain, ByteArrayClassLoader.PersistenceHandler persistenceHandler, PackageDefinitionStrategy packageDefinitionStrategy, java.lang.instrument.ClassFileTransformer classFileTransformer)
Creates a new child-first byte array class loader.ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, ByteArrayClassLoader.PersistenceHandler persistenceHandler)
Creates a new child-first byte array class loader.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.net.URL
getResource(java.lang.String name)
java.util.Enumeration<java.net.URL>
getResources(java.lang.String name)
protected java.lang.Class<?>
loadClass(java.lang.String name, boolean resolve)
-
Methods inherited from class net.bytebuddy.dynamic.loading.ByteArrayClassLoader
defineClass, defineClasses, findClass, findResource, findResources, load, of
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResourceAsStream, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
ChildFirst
public ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions)
Creates a new child-first byte array class loader.- Parameters:
parent
- TheClassLoader
that is the parent of this class loader.typeDefinitions
- A map of fully qualified class names pointing to their binary representations.
-
ChildFirst
public ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, ByteArrayClassLoader.PersistenceHandler persistenceHandler)
Creates a new child-first byte array class loader.- Parameters:
parent
- TheClassLoader
that is the parent of this class loader.typeDefinitions
- A map of fully qualified class names pointing to their binary representations.persistenceHandler
- The persistence handler of this class loader.
-
ChildFirst
public ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, java.security.ProtectionDomain protectionDomain, ByteArrayClassLoader.PersistenceHandler persistenceHandler, PackageDefinitionStrategy packageDefinitionStrategy)
Creates a new child-first byte array class loader.- Parameters:
parent
- TheClassLoader
that is the parent of this class loader.typeDefinitions
- A map of fully qualified class names pointing to their binary representations.protectionDomain
- The protection domain to apply wherenull
references an implicit protection domain.persistenceHandler
- The persistence handler of this class loader.packageDefinitionStrategy
- The package definer to be queried for package definitions.
-
ChildFirst
public ChildFirst(java.lang.ClassLoader parent, java.util.Map<java.lang.String,byte[]> typeDefinitions, java.security.ProtectionDomain protectionDomain, ByteArrayClassLoader.PersistenceHandler persistenceHandler, PackageDefinitionStrategy packageDefinitionStrategy, java.lang.instrument.ClassFileTransformer classFileTransformer)
Creates a new child-first byte array class loader.- Parameters:
parent
- TheClassLoader
that is the parent of this class loader.typeDefinitions
- A map of fully qualified class names pointing to their binary representations.protectionDomain
- The protection domain to apply wherenull
references an implicit protection domain.persistenceHandler
- The persistence handler of this class loader.packageDefinitionStrategy
- The package definer to be queried for package definitions.classFileTransformer
- The class file transformer to apply on loaded classes.
-
-
Method Detail
-
loadClass
protected java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
- Overrides:
loadClass
in classjava.lang.ClassLoader
- Throws:
java.lang.ClassNotFoundException
-
getResource
public java.net.URL getResource(java.lang.String name)
- Overrides:
getResource
in classjava.lang.ClassLoader
-
getResources
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException
- Overrides:
getResources
in classjava.lang.ClassLoader
- Throws:
java.io.IOException
-
-