public final class BindingSourceRestriction
extends java.lang.Object
RestrictedBindingSource.
Enforcement happens in two phases:
PermitMapConstruction encapsulates this process, and the PermitMap is the end
result.
check(com.google.inject.internal.GuiceInternal, java.util.List<com.google.inject.spi.Element>),
which uses the PermitMap(s) built during Binder configuration.
Note: None of this is thread-safe because it's only used while the Injector is being built, which happens on a single thread.
| Modifier and Type | Method and Description |
|---|---|
static <any> |
check(GuiceInternal guiceInternal,
java.util.List<Element> elements)
Returns all the restriction violations found on the given Module Elements, as error messages.
|
static java.util.Optional<java.lang.String> |
getMissingImplementationSuggestion(GuiceInternal guiceInternal,
Key<?> key)
Returns a suggestion for how a restricted binding should be created in case it's missing.
|
public static java.util.Optional<java.lang.String> getMissingImplementationSuggestion(GuiceInternal guiceInternal, Key<?> key)
public static <any> check(GuiceInternal guiceInternal, java.util.List<Element> elements)
Note: Intended to be used on Module Elements, not Injector Elements, ie. the result of
Elements.getElements(com.google.inject.Module...) not Injector.getElements. The Module Elements this check
cares about are:
ElementSource (with
a Module Stack), unlike Injector Bindings, which may be implicit and bereft of an
ElementSource.
PrivateElements, which represent the recursive case of this check. They contain a
list of elements that this check is recursively called on.