public interface ContainerManager extends ConfigurableContainerProvider
ContainerLifecycleProcessor,
ContainerDefinition| 限定符和类型 | 字段和说明 |
|---|---|
static String |
PROVIDER_NAME_PREFIX
Prefix of namespace which create by container provider.
|
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
canonicalNamespace(String namespace,
@Nullable String providerName)
Canonicalize namespace.
|
void |
clear()
Clear all data caches.
|
Collection<Container<Object>> |
getAllLimitedContainers()
Get all limited containers.
|
<K> @Nullable Container<K> |
getContainer(String namespace)
Obtaining and caching container instances from provider or definition.
|
default <K> @Nullable Container<K> |
getContainer(String providerName,
String namespace)
Obtaining and caching container instances from the specified container provider.
|
Collection<ContainerLifecycleProcessor> |
getContainerLifecycleProcessors()
Get all registered
ContainerLifecycleProcessor. |
<T extends ContainerProvider> |
getContainerProvider(String name)
Get
ContainerProvider by given name. |
default ContainerDefinition |
registerContainer(@NonNull Container<?> container)
Register container definition by given container instance.
|
ContainerDefinition |
registerContainer(ContainerDefinition definition)
Register container definition.
|
default ContainerDefinition |
registerContainer(String namespace,
Supplier<Container<Object>> factory)
Register container definition by given arguments.
|
boolean |
registerContainerLifecycleProcessor(ContainerLifecycleProcessor lifecycle)
Register
ContainerLifecycleProcessor. |
void |
registerContainerProvider(String name,
ContainerProvider containerProvider)
Register
ContainerProvider by given name. |
containsContainerstatic final String PROVIDER_NAME_PREFIX
Prefix of namespace which create by container provider.
for example:
getContainer("namespace&&providerName") is equivalent to getContainer("namespace", "providerName")
static String canonicalNamespace(String namespace, @Nullable String providerName)
namespace - namespaceproviderName - provider namevoid clear()
boolean registerContainerLifecycleProcessor(ContainerLifecycleProcessor lifecycle)
ContainerLifecycleProcessor.lifecycle - lifecycleCollection<ContainerLifecycleProcessor> getContainerLifecycleProcessors()
ContainerLifecycleProcessor.void registerContainerProvider(String name, ContainerProvider containerProvider)
ContainerProvider by given name.name - namecontainerProvider - containerProvider<T extends ContainerProvider> T getContainerProvider(String name)
ContainerProvider by given name.name - nameContainerProvider instanceContainerDefinition registerContainer(ContainerDefinition definition)
definition - definition of containerContainerLifecycleProcessor.whenRegistered(java.lang.Object, cn.crane4j.core.container.ContainerDefinition)default ContainerDefinition registerContainer(String namespace, Supplier<Container<Object>> factory)
namespace - namespace of containerfactory - factory method of container instanceContainerLifecycleProcessor.whenRegistered(java.lang.Object, cn.crane4j.core.container.ContainerDefinition)default ContainerDefinition registerContainer(@NonNull Container<?> container)
Register container definition by given container instance.
This operation will overwrite the existing container definition.
registerContainer 在接口中 ConfigurableContainerProvidercontainer - containerContainerLifecycleProcessor.whenRegistered(java.lang.Object, cn.crane4j.core.container.ContainerDefinition)<K> @Nullable Container<K> getContainer(String namespace)
getContainer 在接口中 ContainerProviderK - key typenamespace - namespace of container, which can also be the cache name for the container instance.ContainerLifecycleProcessor.whenCreated(cn.crane4j.core.container.ContainerDefinition, cn.crane4j.core.container.Container<java.lang.Object>)Collection<Container<Object>> getAllLimitedContainers()
default <K> @Nullable Container<K> getContainer(String providerName, String namespace)
K - key typeproviderName - container provider namenamespace - namespace of containerContainerLifecycleProcessor.whenCreated(cn.crane4j.core.container.ContainerDefinition, cn.crane4j.core.container.Container<java.lang.Object>)Copyright © 2024. All rights reserved.