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 Object
implements ClassInjector.UsingJna.Dispatcher
An enabled dispatcher for JNA-based class injection.
-
Nested Class Summary
Nested classes/interfaces inherited from interface 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
FieldsModifier and TypeFieldDescriptionprivate final ClassInjector.UsingJna.Dispatcher.JvmThe JNA-dispatcher to use for invoking JNI's class definition utilities. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates a new dispatcher for a JNI's class definition utilities. -
Method Summary
Modifier and TypeMethodDescriptionClass<?> defineClass(ClassLoader classLoader, String name, byte[] binaryRepresentation, ProtectionDomain protectionDomain) Defines a class.booleanChecks if this dispatcher is available for use.
-
Field Details
-
jvm
The JNA-dispatcher to use for invoking JNI's class definition utilities.
-
-
Constructor Details
-
Enabled
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 Details
-
isAvailable
public boolean isAvailable()Checks if this dispatcher is available for use.- Specified by:
isAvailablein interfaceClassInjector.UsingJna.Dispatcher- Returns:
trueif this dispatcher is available for use.
-
defineClass
public Class<?> defineClass(@MaybeNull ClassLoader classLoader, String name, byte[] binaryRepresentation, @MaybeNull ProtectionDomain protectionDomain) Defines a class.- Specified by:
defineClassin interfaceClassInjector.UsingJna.Dispatcher- Parameters:
classLoader- The class loader ornullif 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 ornullif no protection domain should be used.- Returns:
- The class that was defined.
-