Top Description Fields Constructors Methods
org.apache.groovy.internal.util

public Class ReevaluatingReference<T>

extends Object
Class Inheritance
Annotations
@Incubating
Imports
org.apache.groovy.lang.annotation.Incubating, org.codehaus.groovy.GroovyBugError, java.lang.invoke.MethodHandle, .MethodHandles, .MethodType, .SwitchPoint, java.lang.ref.WeakReference, java.security.AccessController, .PrivilegedActionException, .PrivilegedExceptionAction

This class represents a reference to the most actual incarnation of a Metaclass. INTERNAL USE ONLY.

Field Summary

Modifier and TypeField and Description
private final WeakReference<Class<T>>
private static final MethodHandle
private MethodHandle
private final Function<T, SwitchPoint>
private final Supplier<T>

Constructor Summary

AccessConstructor and Description
public
ReevaluatingReference(Class<T> clazz, Supplier<T> valueSupplier, Function<T, SwitchPoint> validationSupplier)

Method Summary

Modifier and TypeMethod and Description
public T
private T
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

clazzRefback to summary
private final WeakReference<Class<T>> clazzRef
FALLBACK_HANDLEback to summary
private static final MethodHandle FALLBACK_HANDLE
returnRefback to summary
private MethodHandle returnRef
validationSupplierback to summary
private final Function<T, SwitchPoint> validationSupplier
valueSupplierback to summary
private final Supplier<T> valueSupplier

Constructor Detail

ReevaluatingReferenceback to summary
public ReevaluatingReference(Class<T> clazz, Supplier<T> valueSupplier, Function<T, SwitchPoint> validationSupplier)

Method Detail

getPayloadback to summary
public T getPayload()
replacePayLoadback to summary
private T replacePayLoad()