/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the pool of unbound providers. * * @param clazz the class for which to install the provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param internalProvider the internal provider to install. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installUnBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider) { return installInternalProvider(clazz, bindingName, internalProvider, false, false); }
/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the current scope. * * @param clazz the class for which to install the scoped provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param internalProvider the internal provider to install. * @param isTestProvider whether or not is a test provider, installed through a Test Module that should override * existing providers for the same class-bindingname. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider, boolean isTestProvider) { return installInternalProvider(clazz, bindingName, internalProvider, true, isTestProvider); }
/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the pool of unbound providers. * * @param clazz the class for which to install the provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installUnBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider) { return installInternalProvider(clazz, bindingName, internalProvider, false); }
/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the current scope. * * @param clazz the class for which to install the scoped provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider) { return installInternalProvider(clazz, bindingName, internalProvider, true); }
/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the pool of unbound providers. * * @param clazz the class for which to install the provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param internalProvider the internal provider to install. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installUnBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider) { return installInternalProvider(clazz, bindingName, internalProvider, false, false); }
/** * Install the provider of the class {@code clazz} and name {@code bindingName} * in the current scope. * * @param clazz the class for which to install the scoped provider. * @param bindingName the name, possibly {@code null}, for which to install the scoped provider. * @param internalProvider the internal provider to install. * @param isTestProvider whether or not is a test provider, installed through a Test Module that should override * existing providers for the same class-bindingname. * @param <T> the type of {@code clazz}. */ private <T> InternalProviderImpl<? extends T> installBoundProvider(Class<T> clazz, String bindingName, InternalProviderImpl<? extends T> internalProvider, boolean isTestProvider) { return installInternalProvider(clazz, bindingName, internalProvider, true, isTestProvider); }