Package net.bytebuddy.dynamic.loading
Class ClassInjector.UsingLookup.Dispatcher.ForJava9CapableVm
- java.lang.Object
-
- net.bytebuddy.dynamic.loading.ClassInjector.UsingLookup.Dispatcher.ForJava9CapableVm
-
- All Implemented Interfaces:
ClassInjector.UsingLookup.Dispatcher
- Enclosing interface:
- ClassInjector.UsingLookup.Dispatcher
public static class ClassInjector.UsingLookup.Dispatcher.ForJava9CapableVm extends java.lang.Object implements ClassInjector.UsingLookup.Dispatcher
A dispatcher for a Java 9 capable VM that supports class definition via method handles.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.loading.ClassInjector.UsingLookup.Dispatcher
ClassInjector.UsingLookup.Dispatcher.Creator, ClassInjector.UsingLookup.Dispatcher.ForJava9CapableVm, ClassInjector.UsingLookup.Dispatcher.ForLegacyVm
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
ForJava9CapableVm(java.lang.reflect.Method lookupClass, java.lang.reflect.Method lookupModes, java.lang.reflect.Method dropLookupMode, java.lang.reflect.Method defineClass)
Creates a new dispatcher for a Java 9 capable VM.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Class<?>
defineClass(java.lang.Object lookup, byte[] binaryRepresentation)
Defines a class.java.lang.Object
dropLookupMode(java.lang.Object lookup, int mode)
Drops a given lookup mode from a lookup instance.boolean
isAlive()
Indicates if this dispatcher is available on the current VM.int
lookupModes(java.lang.Object lookup)
Returns a lookup objects lookup types.java.lang.Class<?>
lookupType(java.lang.Object lookup)
Returns the lookup type for a given method handle lookup.
-
-
-
Constructor Detail
-
ForJava9CapableVm
protected ForJava9CapableVm(java.lang.reflect.Method lookupClass, java.lang.reflect.Method lookupModes, java.lang.reflect.Method dropLookupMode, java.lang.reflect.Method defineClass)
Creates a new dispatcher for a Java 9 capable VM.- Parameters:
lookupClass
- Thejava.lang.invoke.MethodHandles$Lookup#lookupClass
method.lookupModes
- Thejava.lang.invoke.MethodHandles$Lookup#lookupModes
method.dropLookupMode
- Thejava.lang.invoke.MethodHandles$Lookup#dropLookupMode
method.defineClass
- Thejava.lang.invoke.MethodHandles$Lookup#defineClass
method.
-
-
Method Detail
-
isAlive
public boolean isAlive()
Description copied from interface:ClassInjector.UsingLookup.Dispatcher
Indicates if this dispatcher is available on the current VM.- Specified by:
isAlive
in interfaceClassInjector.UsingLookup.Dispatcher
- Returns:
true
if this dispatcher is alive.
-
lookupType
public java.lang.Class<?> lookupType(java.lang.Object lookup)
Description copied from interface:ClassInjector.UsingLookup.Dispatcher
Returns the lookup type for a given method handle lookup.- Specified by:
lookupType
in interfaceClassInjector.UsingLookup.Dispatcher
- Parameters:
lookup
- The lookup instance.- Returns:
- The lookup type.
-
lookupModes
public int lookupModes(java.lang.Object lookup)
Description copied from interface:ClassInjector.UsingLookup.Dispatcher
Returns a lookup objects lookup types.- Specified by:
lookupModes
in interfaceClassInjector.UsingLookup.Dispatcher
- Parameters:
lookup
- The lookup instance.- Returns:
- The modifiers indicating the instance's lookup modes.
-
dropLookupMode
public java.lang.Object dropLookupMode(java.lang.Object lookup, int mode)
Description copied from interface:ClassInjector.UsingLookup.Dispatcher
Drops a given lookup mode from a lookup instance.- Specified by:
dropLookupMode
in interfaceClassInjector.UsingLookup.Dispatcher
- Parameters:
lookup
- The lookup instance.mode
- The modes to drop.- Returns:
- A new lookup instance where the modes were dropped.
-
defineClass
public java.lang.Class<?> defineClass(java.lang.Object lookup, byte[] binaryRepresentation)
Description copied from interface:ClassInjector.UsingLookup.Dispatcher
Defines a class.- Specified by:
defineClass
in interfaceClassInjector.UsingLookup.Dispatcher
- Parameters:
lookup
- Thejava.lang.invoke.MethodHandles$Lookup
instance to use.binaryRepresentation
- The defined class's binary representation.- Returns:
- The defined class.
-
-