Package com.google.inject.internal
package com.google.inject.internal
Guice (sounds like "juice")
-
ClassDescriptionBase class used to create a new binding with the Guice EDSL described in
Binder
.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.Error reported by Guice when a key is bound at multiple places the injector.Bind a non-constant key.BindingImpl<T>HandlesBinder.bind(com.google.inject.Key<T>)
andBinder.bindConstant()
elements.Delegates to a custom factory which is also bound in the injector.Utility methods for circular proxies, faster reflection, and method interception.Builder of enhanced classes.Error reported by Guice when a key is already bound in one or more child injectors or private modules.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.AConstructionProxy
that uses bytecode generation to invoke the 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.Error reported by Guice when duplicate elements are found in aMultibinder
that does not permit duplicates.DuplicateMapKeyError<K,V> Error reported by Guice when a duplicate key is found in aMapBinder
that does not permit duplicates.An internal binding annotation applied to each element in a multibinding.Helper for formatting Guice errors.Handles errors in the Injector.Enum used to identify a specific Guice error.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.Generic error message representing a Guice internal error.Class used for restricting APIs in other packages to only be used by this package.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.A container that stores an injector's binding data.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 container for most just-in-time (JIT) binding data corresponding to an Injector.A processor to gather injector options.InjectorShell is used byInternalInjectorCreator
to recursively create a tree of uninitializedInjector
s.HandlesBinder.bindInterceptor
commands.Intercepts a method with a stack of interceptors.Internal context.InternalErrorDetail<T extends ErrorDetail<T>>Represents an error created by Guice as opposed to custom error added to the binder from application code.Creates objects which will be injected.AdaptsProviderInstanceBinding
providers, ensuring circular proxies fail (or proxy) properly.Contains flags for Guice.Options for controlling whether Guice uses bytecode generation at runtime.Options for enable or disable using ansi color in error messages.The options for Guice custom class loading.The options for Guice stack trace collection.Options for handling nullable parameters used in provides methods.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.Class to conditionally load support for Kotlin features.Interface for accessing information about Kotlin code.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
objectsTies a matcher to a method interceptor.Error reported when Guice can't find an useable constructor to create objects.Error reported by Guice when a key is not bound in the injector.Helper class to find hints forMissingImplementationError
.HandlesBinder.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.Munges an error message to remove/shorten package names and adds a legend at the end.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 uses bytecode generation to invoke the provider method.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.ProxyFactory<T>Builds a construction proxy that can participate in AOP.Constructs instances that participate in AOP.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.Implementation of a provider instance for the map that also exposes details about the MapBinder using the extension SPI, delegating to another provider instance for non-extension (e.g, the actual provider instance info) data.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:RealMultibinder.BaseFactory<ValueT,ProvidedT> Base implement ofInternalProviderInstanceBindingImpl.Factory
that works based on aRealMultibinder.BindingSelection
, allowing provider instances for various bindings to be implemented with less duplication.Implementation of BaseFactory that exposes details about the multibinder through the extension SPI.We install the permit duplicates configuration as its own binding, all by itself.Implementation of BaseFactory that exposes a collection of providers of the values in the set.Provider instance implementation that provides the actual set of values.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.Error reported by Guice when a scope annotation is not bound to any scope implementation.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
.Formatting a single source in Guice error message.HandlesBinder.convertToTypes
commands.Processes just UntargettedBindings.Minimal set that doesn't hold strong references to the contained keys.