Package com.google.inject.internal
package com.google.inject.internal
Guice (sounds like "juice")
-
ClassDescriptionBind a value or constant.Guarantees that processing of Binding elements happens in a sane way.Abstract base class for creating an injector from module elements.Annotation utilities.Checks for the presence of annotations.Bind a non-constant key.BindingImpl<T>Handles
Binder.bind(com.google.inject.Key<T>)
andBinder.bindConstant()
elements.Delegates to a custom factory which is also bound in the injector.Utility methods for runtime code generation and class loading.Loader for Guice-generated classes.The required visibility of a user's class from a Guice-generated class.Bind a constant.Context of a dependency construction.Proxies calls to aConstructor
for a classT
.CreatesConstructionProxy
instances.Creates instances using an injectable constructor.Constructor injectors by type.Something that is notified upon creation.Simplified version ofLock
that is special due to how it handles deadlocks detection.Wraps locks so they would never cause a deadlock.The implementation forCycleDetectingLock
.Utility class for retrieving declared fields or methods in a particular order, because the JVM doesn't guarantee ordering for listing declared methods.Produces construction proxies that invoke the class constructor.Returns providers and members injectors that haven't yet been initialized.Something that needs some delayed initialization, typically a binding or internal factory that needs to be created & put into the bindings map & then initialized later.An internal binding annotation applied to each element in a multibinding.Handles errors in the Injector.A collection of error messages.Indicates that a result could not be returned while preparing or resolving a binding.This factory exists in a parent injector.For private binder's expose() method.FactoryProxy<T>A placeholder which enables us to swap in the real factory once the injector is created.FailableCache<K,V> Lazily creates (and caches) values for keys.Visits bindings to return aIndexedBinding
that can be used to emulate the binding deduplication that Guice internally performs.Holds a reference that requires initialization to be performed before it can be used.Manages and injects instances at injector-creation time.HandlesBinder.requestInjection
andBinder.requestStaticInjection
commands.DefaultInjector
implementation.Options that control how the injector behaves.some limitations on what just in time bindings are allowed.Invokes a method.A framework-created JIT Providerbinding. A processor to gather injector options.A partially-initialized injector.Internal context.Creates objects which will be injected.AdaptsProviderInstanceBinding
providers, ensuring circular proxies fail (or proxy) properly.Contains flags for Guice.The options for Guice custom class loading.The options for Guice stack trace collection.Builds a tree of injectors.Injector
exposed to users inStage.TOOL
.AProviderInstanceBindingImpl
for implementing 'native' guice extensions.An base factory implementation that can be extended to provide a specialized implementation of aProviderWithExtensionVisitor
and also implementsInternalFactory
A base factory implementation.A checked exception for provisioning errors.HandlesBinder#bindListener
commands.HandlesBinder.getProvider
andBinder.getMembersInjector(TypeLiteral)
commands.Accessors for providers and members injectors.Injects members of instances of a given type.Members injectors by type.HandlesBinder.addError
commands.Utility methods forMessage
objectsHandlesBinder.scanModulesForAnnotatedMethods
commands.Static methods for working with types that we aren't publishing in the publicTypes
API.A type formed from other types, such as arrays, parameterized types or wildcard typesThe WildcardType interface supports multiple upper bounds and multiple lower bounds.Whether a member supports null values injected.HandlesBinder.newPrivateBinder()
elements.Keeps track of creation listeners & uninitialized bindings, so they can be processed after bindings are recorded.AnInternalFactory
for @ProvidedBy
bindings.Base class for InternalFactories that are used by Providers, to handle circular dependencies.A provider that invokes a method and returns its result.AProviderMethod
implementation that invokes the method using normal java reflection.Creates bindings to methods annotated with @Provides
.AModuleAnnotatedMethodScanner
that handles the ,ProvidesIntoSet
,ProvidesIntoMap
andProvidesIntoOptional
annotations.ProvisionListenerStackCallback
for each key.A struct that holds key & binding but uses just key for equality/hashcode.Intercepts provisions with a stack of listeners.An implementation of Element.RealMapBinder<K,V> The actual mapbinder plays several roles:The BindingSelection contains some of the core state and logic for the MapBinder.BindsMap<K, Set<V>>
and {Map<K, Set<Provider<V>>>
.A simple class to hold a key and the associated bindings as an array.A factory for aMap.Entry<K, Provider<V>>
.A base class for ProviderWithDependencies that need equality based on a specific object.A base class for ProviderWithDependencies that need equality based on a specific object.The actual multibinder plays several roles:We install the permit duplicates configuration as its own binding, all by itself.The actual OptionalBinder plays several roles.A helper object that implements the core logic for deciding what the implementation of the binding will be.Provides the binding for java.util.Optional. Provides the binding for java.util.Optional<Provider>. Provides the binding for T, conditionally installed by calling setBinding/setDefault.A base class for ProviderWithDependencies that need equality based on a specific object.Provides the binding for Optional. Provides the binding for Optional<Provider>. HandlesBinder.bindScope
commands.References a scope, either directly (as a scope instance), or indirectly (as a scope annotation).Sets an injectable field.Injects a field or method of a given object.Invokes an injectable method.Resolves a single parameter, to be used in a constructor or method invocation.One instance perInjector
.The inheritable data within an injector.HandlesBinder.convertToTypes
commands.Processes just UntargettedBindings.Minimal set that doesn't hold strong references to the contained keys.