private static final class ProviderMethod.FastClassProviderMethod<T> extends ProviderMethod<T>
ProviderMethod
implementation that uses FastClass.invoke(java.lang.String, java.lang.Class[], java.lang.Object, java.lang.Object[])
to invoke the provider method.Modifier and Type | Field and Description |
---|---|
(package private) net.sf.cglib.reflect.FastClass |
fastClass |
(package private) int |
methodIndex |
instance, method
Constructor and Description |
---|
FastClassProviderMethod(Key<T> key,
net.sf.cglib.reflect.FastClass fc,
java.lang.reflect.Method method,
java.lang.Object instance,
com.google.common.collect.ImmutableSet<Dependency<?>> dependencies,
java.util.List<Provider<?>> parameterProviders,
java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation,
java.lang.annotation.Annotation annotation) |
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, createBinding, equals, get, getAnnotation, getDependencies, getEnclosingInstance, getInstance, getKey, getMethod, hashCode, toString
final net.sf.cglib.reflect.FastClass fastClass
final int methodIndex
FastClassProviderMethod(Key<T> key, net.sf.cglib.reflect.FastClass fc, java.lang.reflect.Method method, java.lang.Object instance, com.google.common.collect.ImmutableSet<Dependency<?>> dependencies, java.util.List<Provider<?>> parameterProviders, java.lang.Class<? extends java.lang.annotation.Annotation> scopeAnnotation, java.lang.annotation.Annotation annotation)
public T doProvision(java.lang.Object[] parameters) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException
ProviderMethod
doProvision
in class ProviderMethod<T>
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException