@HashCodeAndEqualsPlugin.Enhance public static class ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm extends java.lang.Object implements ByteArrayClassLoader.SynchronizationStrategy, ByteArrayClassLoader.SynchronizationStrategy.Initializable
ByteArrayClassLoader.SynchronizationStrategy.CreationAction, ByteArrayClassLoader.SynchronizationStrategy.ForJava7CapableVm, ByteArrayClassLoader.SynchronizationStrategy.ForJava8CapableVm, ByteArrayClassLoader.SynchronizationStrategy.ForLegacyVm, ByteArrayClassLoader.SynchronizationStrategy.Initializable
Modifier and Type | Field and Description |
---|---|
private java.lang.reflect.Method |
bindTo
The
java.lang.invoke.MethodHandle#bindTo(Object) method. |
private java.lang.reflect.Method |
invokeWithArguments
The
java.lang.invoke.MethodHandle#invokeWithArguments(Object[]) method. |
private java.lang.Object |
methodHandle
The
java.lang.invoke.MethodHandle to use. |
Modifier | Constructor and Description |
---|---|
protected |
ForJava8CapableVm(java.lang.Object methodHandle,
java.lang.reflect.Method bindTo,
java.lang.reflect.Method invokeWithArguments)
Creates a new synchronization strategy.
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getClassLoadingLock(ByteArrayClassLoader classLoader,
java.lang.String name)
Receives the class loading lock.
|
ByteArrayClassLoader.SynchronizationStrategy |
initialize()
Initializes this synchronization strategy.
|
private final java.lang.Object methodHandle
java.lang.invoke.MethodHandle
to use.private final java.lang.reflect.Method bindTo
java.lang.invoke.MethodHandle#bindTo(Object)
method.private final java.lang.reflect.Method invokeWithArguments
java.lang.invoke.MethodHandle#invokeWithArguments(Object[])
method.protected ForJava8CapableVm(java.lang.Object methodHandle, java.lang.reflect.Method bindTo, java.lang.reflect.Method invokeWithArguments)
methodHandle
- The java.lang.invoke.MethodHandle
to use.bindTo
- The java.lang.invoke.MethodHandle#bindTo(Object)
method.invokeWithArguments
- The java.lang.invoke.MethodHandle#invokeWithArguments(Object[])
method.public ByteArrayClassLoader.SynchronizationStrategy initialize()
initialize
in interface ByteArrayClassLoader.SynchronizationStrategy.Initializable
public java.lang.Object getClassLoadingLock(ByteArrayClassLoader classLoader, java.lang.String name)
getClassLoadingLock
in interface ByteArrayClassLoader.SynchronizationStrategy
classLoader
- The class loader loading the class.name
- The name of the class being loaded.