Package net.bytebuddy.dynamic.loading
Class ClassInjector.UsingJna.Dispatcher.Enabled
- java.lang.Object
-
- net.bytebuddy.dynamic.loading.ClassInjector.UsingJna.Dispatcher.Enabled
-
- All Implemented Interfaces:
ClassInjector.UsingJna.Dispatcher
- Enclosing interface:
- ClassInjector.UsingJna.Dispatcher
@Enhance public static class ClassInjector.UsingJna.Dispatcher.Enabled extends java.lang.Object implements ClassInjector.UsingJna.Dispatcher
An enabled dispatcher for JNA-based class injection.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.loading.ClassInjector.UsingJna.Dispatcher
ClassInjector.UsingJna.Dispatcher.CreationAction, ClassInjector.UsingJna.Dispatcher.Enabled, ClassInjector.UsingJna.Dispatcher.Jvm, ClassInjector.UsingJna.Dispatcher.Unavailable, ClassInjector.UsingJna.Dispatcher.Windows32BitFunctionMapper
-
-
Field Summary
Fields Modifier and Type Field Description private ClassInjector.UsingJna.Dispatcher.Jvm
jvm
The JNA-dispatcher to use for invoking JNI's class definition utilities.
-
Constructor Summary
Constructors Modifier Constructor Description protected
Enabled(ClassInjector.UsingJna.Dispatcher.Jvm jvm)
Creates a new dispatcher for a JNI's class definition utilities.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
defineClass(java.lang.ClassLoader classLoader, java.lang.String name, byte[] binaryRepresentation, java.security.ProtectionDomain protectionDomain)
Defines a class.boolean
isAvailable()
Checks if this dispatcher is available for use.
-
-
-
Field Detail
-
jvm
private final ClassInjector.UsingJna.Dispatcher.Jvm jvm
The JNA-dispatcher to use for invoking JNI's class definition utilities.
-
-
Constructor Detail
-
Enabled
protected Enabled(ClassInjector.UsingJna.Dispatcher.Jvm jvm)
Creates a new dispatcher for a JNI's class definition utilities.- Parameters:
jvm
- The JNA-dispatcher to use for invoking JNI's class definition utilities.
-
-
Method Detail
-
isAvailable
public boolean isAvailable()
Checks if this dispatcher is available for use.- Specified by:
isAvailable
in interfaceClassInjector.UsingJna.Dispatcher
- Returns:
true
if this dispatcher is available for use.
-
defineClass
public java.lang.Class<?> defineClass(java.lang.ClassLoader classLoader, java.lang.String name, byte[] binaryRepresentation, java.security.ProtectionDomain protectionDomain)
Defines a class.- Specified by:
defineClass
in interfaceClassInjector.UsingJna.Dispatcher
- Parameters:
classLoader
- The class loader ornull
if a class should be injected into the bootstrap loader.name
- The class's name.binaryRepresentation
- The class's class file.protectionDomain
- The protection domain to use ornull
if no protection domain should be used.- Returns:
- The class that was defined.
-
-