Top Description Interfaces Annotations Classes Enums
[default module]

Package com.google.inject.internal


Guice (sounds like "juice")

Interface Summary

Modifier and TypeInterface and Description
pack-priv interface
ConstructionProxy<T>

Proxies calls to a java.lang.reflect.Constructor for a class T.

pack-priv interface
pack-priv interface
CreationListener

Something that is notified upon creation.

pack-priv interface
CycleDetectingLock<
Lock identification provided by the client, is returned unmodified to the client when lock cycle is detected to identify it. Only toString() needs to be implemented. Lock references this object internally, for the purposes of Garbage Collection you should not use heavy IDs. Lock is referenced by a lock factory as long as it's owned by a thread.
ID
>

Simplified version of Lock that is special due to how it handles deadlocks detection.

pack-priv interface
DelayedInitialize

Something that needs some delayed initialization, typically a binding or internal factory that needs to be created; put into the bindings map and then initialized later.

pack-priv interface
ErrorHandler

Handles errors in the Injector.

pack-priv interface
Initializable<T>

Holds a reference that requires initialization to be performed before it can be used.

pack-priv interface
InternalFactory<T>

Creates objects which will be injected.

public interface
KotlinSupportInterface

Interface for accessing information about Kotlin code.

pack-priv interface
Lookups

Accessors for providers and members injectors.

pack-priv interface
SingleMemberInjector

Injects a field or method of a given object.

Annotation Summary

Modifier and TypeAnnotation and Description
pack-priv @interface
Element

An internal binding annotation applied to each element in a multibinding.

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractBindingBuilder<T>

Base class used to create a new binding with the Guice EDSL described in Binder.

pack-priv abstract class
AbstractBindingProcessor

Guarantees that processing of Binding elements happens in a sane way.

pack-priv abstract class
AbstractProcessor

Abstract base class for creating an injector from module elements.

public class
Annotations

Annotation utilities.

pack-priv class
BindingAlreadySetError

Error reported by Guice when a key is bound at multiple places the injector.

public class
BindingBuilder<T>

Bind a non-constant key.

public abstract class
pack-priv class
pack-priv class
BoundProviderFactory<T>

Delegates to a custom factory which is also bound in the injector.

public class
BytecodeGen

Utility methods for circular proxies, faster reflection, and method interception.

pack-priv class
ChildBindingAlreadySetError

Error reported by Guice when a key is already bound in one or more child injectors or private modules.

public class
ConstantBindingBuilderImpl<T>

Bind a constant.

pack-priv class
pack-priv class
ConstructionContext<T>

Context of a dependency construction.

pack-priv class
pack-priv class
ConstructorInjector<T>

Creates instances using an injectable constructor.

pack-priv class
ConstructorInjectorStore

Constructor injectors by type.

public class
DeclaredMembers

Utility class for retrieving declared fields or methods in a particular order, because the JVM doesn't guarantee ordering for listing declared methods.

pack-priv class
DefaultConstructionProxyFactory<T>

Produces construction proxies that invoke the class constructor.

pack-priv class
DeferredLookups

Returns providers and members injectors that haven't yet been initialized.

pack-priv class
pack-priv class
DuplicateElementError<T>

Error reported by Guice when duplicate elements are found in a Multibinder that does not permit duplicates.

pack-priv class
DuplicateMapKeyError<K, V>

Error reported by Guice when a duplicate key is found in a MapBinder that does not permit duplicates.

pack-priv class
pack-priv class
ErrorFormatter

Helper for formatting Guice errors.

public class
Errors

A collection of error messages.

public class
ErrorsException

Indicates that a result could not be returned while preparing or resolving a binding.

pack-priv class
pack-priv class
ExposedKeyFactory<T>

This factory exists in a parent injector.

public class
ExposureBuilder<T>

For private binder's expose() method.

pack-priv class
FactoryProxy<T>

A placeholder which enables us to swap in the real factory once the injector is created.

public abstract class
FailableCache<K, V>

Lazily creates (and caches) values for keys.

public class
GenericErrorDetail

Generic error message representing a Guice internal error.

public class
GuiceInternal

Class used for restricting APIs in other packages to only be used by this package.

pack-priv class
Indexer

Visits bindings to return a IndexedBinding that can be used to emulate the binding deduplication that Guice internally performs.

pack-priv class
pack-priv class
Initializer

Manages and injects instances at injector-creation time.

pack-priv class
InjectionRequestProcessor

Handles Binder.requestInjection and Binder.requestStaticInjection commands.

pack-priv class
InjectorBindingData

A container that stores an injector's binding data.

pack-priv class
InjectorImpl

Default Injector implementation.

pack-priv class
InjectorJitBindingData

A container for most just-in-time (JIT) binding data corresponding to an Injector.

pack-priv class
InjectorOptionsProcessor

A processor to gather injector options.

pack-priv class
InjectorShell

InjectorShell is used by InternalInjectorCreator to recursively create a tree of uninitialized Injectors.

pack-priv class
pack-priv class
InterceptorBindingProcessor

Handles Binder.bindInterceptor commands.

pack-priv class
InterceptorStackCallback

Intercepts a method with a stack of interceptors.

public class
InternalClassesToSkipSources

Returns internal classes that should be skipped when calculating sources.

pack-priv class
InternalContext

Internal context.

pack-priv abstract class
InternalErrorDetail<T extends ErrorDetail<T>>

Represents an error created by Guice as opposed to custom error added to the binder from application code.

pack-priv class
InternalFactoryToInitializableAdapter<T>

Adapts ProviderInstanceBinding providers, ensuring circular proxies fail (or proxy) properly.

pack-priv class
public class
InternalFlags

Contains flags for Guice.

public class
InternalInjectorCreator

Builds a tree of injectors.

pack-priv class
InternalProviderInstanceBindingImpl<T>

A ProviderInstanceBindingImpl for implementing 'native' guice extensions.

public class
InternalProvisionException

A checked exception for provisioning errors.

public class
KotlinSupport

Class to conditionally load support for Kotlin features.

pack-priv class
pack-priv class
pack-priv class
ListenerBindingProcessor

Handles Binder#bindListener commands.

pack-priv class
LookupProcessor

Handles Binder.getProvider and Binder.getMembersInjector(TypeLiteral) commands.

pack-priv class
MembersInjectorImpl<T>

Injects members of instances of a given type.

pack-priv class
MembersInjectorStore

Members injectors by type.

pack-priv class
MessageProcessor

Handles Binder.addError commands.

public class
Messages

Utility methods for Message objects

pack-priv class
MethodAspect

Ties a matcher to a method interceptor.

pack-priv class
MissingConstructorError

Error reported when Guice can't find an useable constructor to create objects.

pack-priv class
MissingImplementationError<T>

Error reported by Guice when a key is not bound in the injector.

pack-priv class
pack-priv class
ModuleAnnotatedMethodScannerProcessor

Handles Binder.scanModulesForAnnotatedMethods commands.

public class
MoreTypes

Static methods for working with types that we aren't publishing in the public Types API.

public class
Nullability

Whether a member supports null values injected.

pack-priv class
PackageNameCompressor

Munges an error message to remove/shorten package names and adds a legend at the end.

pack-priv class
PrivateElementProcessor

Handles Binder.newPrivateBinder() elements.

public class
pack-priv class
ProcessedBindingData

Keeps track of creation listeners and uninitialized bindings, so they can be processed after bindings are recorded.

pack-priv class
pack-priv class
pack-priv abstract class
ProviderInternalFactory<T>

Base class for InternalFactories that are used by Providers, to handle circular dependencies.

public abstract class
ProviderMethod<T>

A provider that invokes a method and returns its result.

public class
ProviderMethodsModule

Creates bindings to methods annotated with @Provides.

pack-priv class
pack-priv class
pack-priv class
pack-priv class
ProvisionListenerStackCallback<T>

Intercepts provisions with a stack of listeners.

pack-priv class
ProxyFactory<T>

Builds a construction proxy that can participate in AOP.

pack-priv class
RealElement

An implementation of Element.

public class
RealMapBinder<K, V>

The actual mapbinder plays several roles:

As a MapBinder, it acts as a factory for LinkedBindingBuilders for each of the map's values.

public class
RealMultibinder<T>

The actual multibinder plays several roles:

As a Multibinder, it acts as a factory for LinkedBindingBuilders for each of the set's elements.

public class
RealOptionalBinder<T>

The actual OptionalBinder plays several roles.

pack-priv class
ScopeBindingProcessor

Handles Binder.bindScope commands.

pack-priv class
ScopeNotFoundError

Error reported by Guice when a scope annotation is not bound to any scope implementation.

public abstract class
Scoping

References a scope, either directly (as a scope instance), or indirectly (as a scope annotation).

pack-priv class
SingleFieldInjector

Sets an injectable field.

pack-priv class
SingleMethodInjector

Invokes an injectable method.

pack-priv class
SingleParameterInjector<T>

Resolves a single parameter, to be used in a constructor or method invocation.

public class
SingletonScope

One instance per Injector.

pack-priv class
SourceFormatter

Formatting a single source in Guice error message.

pack-priv class
TypeConverterBindingProcessor

Handles Binder.convertToTypes commands.

public class
pack-priv class
pack-priv class
UntargettedBindingProcessor

Processes just UntargettedBindings.

pack-priv class
WeakKeySet

Minimal set that doesn't hold strong references to the contained keys.

Enum Summary

Modifier and TypeEnum and Description
public enum
ErrorId

Enum used to identify a specific Guice error.