Top Description Inners Fields Constructors Methods
com.google.inject.internal

pack-priv final Class ProvisionListenerStackCallback<T>

extends Object
Class Inheritance
Imports
com.google.common.collect.ImmutableList, .Sets, com.google.inject.Binding, com.google.inject.spi.ProvisionListener, java.util.List, .Set

Intercepts provisions with a stack of listeners.
Author
[email protected] (Sam Berlin)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class
public static interface

Field Summary

Modifier and TypeField and Description
private final Binding<T>
private static final ProvisionListenerStackCallback<?>
private static final ProvisionListener[]
private final ProvisionListener[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static <T> ProvisionListenerStackCallback<T>
public boolean
public T
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

bindingback to summary
private final Binding<T> binding
EMPTY_CALLBACKback to summary
private static final ProvisionListenerStackCallback<?> EMPTY_CALLBACK
Annotations
@SuppressWarnings:rawtypes, unchecked
EMPTY_LISTENERback to summary
private static final ProvisionListener[] EMPTY_LISTENER
listenersback to summary
private final ProvisionListener[] listeners

Constructor Detail

ProvisionListenerStackCallbackback to summary
public ProvisionListenerStackCallback(Binding<T> binding, List<ProvisionListener> listeners)

Method Detail

emptyListenerback to summary
public static <T> ProvisionListenerStackCallback<T> emptyListener()
Annotations
@SuppressWarnings:unchecked
hasListenersback to summary
public boolean hasListeners()
provisionback to summary
public T provision(InternalContext context, ProvisionListenerStackCallback.ProvisionCallback<T> callable) throws InternalProvisionException
com.google.inject.internal back to summary

private Class ProvisionListenerStackCallback.Provision

extends ProvisionListener.ProvisionInvocation<T>
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final ProvisionListenerStackCallback.ProvisionCallback<T>
pack-priv ProvisionListener
pack-priv InternalProvisionException
pack-priv int
pack-priv T

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Binding<T>
getBinding()

Implements abstract com.google.inject.spi.ProvisionListener.ProvisionInvocation.getBinding.

Returns the Binding this is provisioning.
public T
provision()

Implements abstract com.google.inject.spi.ProvisionListener.ProvisionInvocation.provision.

Performs the provision, returning the object provisioned.

Field Detail

callableback to summary
pack-priv final ProvisionListenerStackCallback.ProvisionCallback<T> callable
erredListenerback to summary
pack-priv ProvisionListener erredListener
exceptionDuringProvisionback to summary
pack-priv InternalProvisionException exceptionDuringProvision
indexback to summary
pack-priv int index
resultback to summary
pack-priv T result

Constructor Detail

Provisionback to summary
public Provision(ProvisionListenerStackCallback.ProvisionCallback<T> callable)

Method Detail

getBindingback to summary
public Binding<T> getBinding()

Implements abstract com.google.inject.spi.ProvisionListener.ProvisionInvocation.getBinding.

Doc from com.google.inject.spi.ProvisionListener.ProvisionInvocation.getBinding.

Returns the Binding this is provisioning.

You must not call Provider#get() on the provider returned by Binding#getProvider, otherwise you will get confusing error messages.

Annotations
@Override
provisionback to summary
public T provision()

Implements abstract com.google.inject.spi.ProvisionListener.ProvisionInvocation.provision.

Doc from com.google.inject.spi.ProvisionListener.ProvisionInvocation.provision.

Performs the provision, returning the object provisioned.

Annotations
@Override
com.google.inject.internal back to summary

public Interface ProvisionListenerStackCallback.ProvisionCallback<T>


Method Summary

Modifier and TypeMethod and Description
public T
call()

Method Detail

callback to summary
public T call() throws InternalProvisionException