private static final class ProviderMethod.FastClassProviderMethod<T> extends ProviderMethod<T>
ProviderMethod
implementation that uses bytecode generation to invoke the provider
method.Modifier and Type | Field and Description |
---|---|
(package private) java.util.function.BiFunction<java.lang.Object,java.lang.Object[],java.lang.Object> |
fastMethod |
instance, method
provisionCallback
Constructor and Description |
---|
FastClassProviderMethod(Key<T> key,
java.lang.reflect.Method method,
java.lang.Object instance,
com.google.common.collect.ImmutableSet<Dependency<?>> dependencies,
java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation,
java.lang.annotation.Annotation annotation,
java.util.function.BiFunction<java.lang.Object,java.lang.Object[],java.lang.Object> fastMethod) |
Modifier and Type | Method and Description |
---|---|
T |
doProvision(java.lang.Object[] parameters)
Extension point for our subclasses to implement the provisioning strategy.
|
acceptExtensionVisitor, configure, create, doProvision, equals, getAnnotation, getDependencies, getEnclosingInstance, getInstance, getKey, getMethod, hashCode, initialize, toString
get
get, getSource
final java.util.function.BiFunction<java.lang.Object,java.lang.Object[],java.lang.Object> fastMethod
FastClassProviderMethod(Key<T> key, java.lang.reflect.Method method, java.lang.Object instance, com.google.common.collect.ImmutableSet<Dependency<?>> dependencies, java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, java.lang.annotation.Annotation annotation, java.util.function.BiFunction<java.lang.Object,java.lang.Object[],java.lang.Object> fastMethod)
public T doProvision(java.lang.Object[] parameters) throws java.lang.reflect.InvocationTargetException
ProviderMethod
doProvision
in class ProviderMethod<T>
java.lang.reflect.InvocationTargetException