protected static interface ClassInjector.UsingReflection.Dispatcher
ClassLoader
reflectively.Modifier and Type | Interface and Description |
---|---|
static class |
ClassInjector.UsingReflection.Dispatcher.CreationAction
A creation action for a dispatcher.
|
static class |
ClassInjector.UsingReflection.Dispatcher.Direct
A class injection dispatcher that is using reflection on the
ClassLoader methods. |
static interface |
ClassInjector.UsingReflection.Dispatcher.Initializable
Initializes a dispatcher to make non-accessible APIs accessible.
|
static class |
ClassInjector.UsingReflection.Dispatcher.Unavailable
Represents an unsuccessfully loaded method lookup.
|
static class |
ClassInjector.UsingReflection.Dispatcher.UsingUnsafeInjection
An indirect dispatcher that uses a redirection accessor class that was injected into the bootstrap class loader.
|
static class |
ClassInjector.UsingReflection.Dispatcher.UsingUnsafeOverride
A dispatcher implementation that uses
sun.misc.Unsafe#putBoolean to set the AccessibleObject field
for making methods accessible. |
Modifier and Type | Field and Description |
---|---|
static Class<?> |
UNDEFINED
Indicates a class that is currently not defined.
|
Modifier and Type | Method and Description |
---|---|
Class<?> |
defineClass(ClassLoader classLoader,
String name,
byte[] binaryRepresentation,
ProtectionDomain protectionDomain)
Defines a class for the given class loader.
|
Package |
definePackage(ClassLoader classLoader,
String name,
String specificationTitle,
String specificationVersion,
String specificationVendor,
String implementationTitle,
String implementationVersion,
String implementationVendor,
URL sealBase)
Defines a package for the given class loader.
|
Class<?> |
findClass(ClassLoader classLoader,
String name)
Looks up a class from the given class loader.
|
Object |
getClassLoadingLock(ClassLoader classLoader,
String name)
Returns the lock for loading the specified class.
|
Package |
getDefinedPackage(ClassLoader classLoader,
String name)
Looks up a package from a class loader.
|
Package |
getPackage(ClassLoader classLoader,
String name)
Looks up a package from a class loader or its ancestor.
|
static final Class<?> UNDEFINED
Object getClassLoadingLock(ClassLoader classLoader, String name)
classLoader
- the class loader to inject the class into.name
- The name of the class.Class<?> findClass(ClassLoader classLoader, String name)
classLoader
- The class loader for which a class should be located.name
- The binary name of the class that should be located.null
if no such class is defined for the provided class loader.Class<?> defineClass(ClassLoader classLoader, String name, byte[] binaryRepresentation, ProtectionDomain protectionDomain)
classLoader
- The class loader for which a new class should be defined.name
- The binary name of the class that should be defined.binaryRepresentation
- The binary representation of the class.protectionDomain
- The protection domain for the defined class.Package getDefinedPackage(ClassLoader classLoader, String name)
getPackage(ClassLoader, String)
classLoader
- The class loader to query.name
- The binary name of the package.null
if no such package exists.Package getPackage(ClassLoader classLoader, String name)
classLoader
- The class loader to query.name
- The binary name of the package.null
if no such package exists.Package definePackage(ClassLoader classLoader, String name, String specificationTitle, String specificationVersion, String specificationVendor, String implementationTitle, String implementationVersion, String implementationVendor, URL sealBase)
classLoader
- The class loader for which a package is to be defined.name
- The binary name of the package.specificationTitle
- The specification title of the package or null
if no specification title exists.specificationVersion
- The specification version of the package or null
if no specification version exists.specificationVendor
- The specification vendor of the package or null
if no specification vendor exists.implementationTitle
- The implementation title of the package or null
if no implementation title exists.implementationVersion
- The implementation version of the package or null
if no implementation version exists.implementationVendor
- The implementation vendor of the package or null
if no implementation vendor exists.sealBase
- The seal base URL or null
if the package should not be sealed.Copyright © 2014–2021. All rights reserved.