public class DefaultContainerManager extends Object implements ContainerManager
ContainerManager.| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
DefaultContainerManager.CacheKey
Cache key for namespace with provider name
|
| 限定符和类型 | 字段和说明 |
|---|---|
protected List<ContainerLifecycleProcessor> |
containerLifecycleProcessorList
Registered container lifecycle callbacks.
|
protected Map<Object,Object> |
containerMap
Container singleton caches.
|
protected Map<String,ContainerProvider> |
containerProviderMap
Registered container provider.
|
PROVIDER_NAME_PREFIX| 构造器和说明 |
|---|
DefaultContainerManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
clear()
Clear all data caches.
|
boolean |
containsContainer(String namespace)
Whether this provider has container of given
namespace. |
protected @Nullable Container<Object> |
createContainer(String namespace,
ContainerDefinition definition)
Create container comparator by given
DefaultContainerManager.CacheKey. |
protected @Nullable ContainerDefinition |
createDefinition(Object cacheKey)
Create definition by provider based factory method.
|
protected Object |
getCacheKey(String namespace)
Get cache key for container comparator.
|
<K> @Nullable Container<K> |
getContainer(String namespace)
Obtaining and caching container instances from provider or definition.
|
Collection<ContainerLifecycleProcessor> |
getContainerLifecycleProcessors()
Get all registered
ContainerLifecycleProcessor. |
<T extends ContainerProvider> |
getContainerProvider(String name)
Get
ContainerProvider by given name. |
@Nullable Object |
registerContainer(ContainerDefinition definition)
Register container
|
void |
registerContainerLifecycleProcessor(ContainerLifecycleProcessor lifecycle)
Register
ContainerLifecycleProcessor. |
void |
registerContainerProvider(String name,
ContainerProvider containerProvider)
Register
ContainerProvider by given name. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcanonicalNamespace, getContainer, registerContainer, registerContainerprotected final List<ContainerLifecycleProcessor> containerLifecycleProcessorList
protected final Map<String,ContainerProvider> containerProviderMap
public void registerContainerLifecycleProcessor(ContainerLifecycleProcessor lifecycle)
ContainerLifecycleProcessor.registerContainerLifecycleProcessor 在接口中 ContainerManagerlifecycle - lifecyclepublic Collection<ContainerLifecycleProcessor> getContainerLifecycleProcessors()
ContainerLifecycleProcessor.public void registerContainerProvider(String name, ContainerProvider containerProvider)
ContainerProvider by given name.registerContainerProvider 在接口中 ContainerManagername - namecontainerProvider - containerProviderpublic <T extends ContainerProvider> T getContainerProvider(String name)
ContainerProvider by given name.getContainerProvider 在接口中 ContainerManagername - nameContainerProvider comparatorpublic @Nullable Object registerContainer(ContainerDefinition definition)
registerContainer 在接口中 ContainerManagerdefinition - definition of containerContainerLifecycleProcessor.whenRegistered(java.lang.Object, cn.crane4j.core.container.ContainerDefinition)public <K> @Nullable Container<K> getContainer(String namespace)
getContainer 在接口中 ContainerManagergetContainer 在接口中 ContainerProviderK - key typenamespace - namespace of container, which can also be the cache name for the container comparator.ContainerLifecycleProcessor.whenCreated(cn.crane4j.core.container.ContainerDefinition, cn.crane4j.core.container.Container<java.lang.Object>)public boolean containsContainer(String namespace)
namespace.containsContainer 在接口中 ContainerProvidernamespace - namespacepublic void clear()
protected @Nullable Container<Object> createContainer(String namespace, ContainerDefinition definition)
Create container comparator by given DefaultContainerManager.CacheKey.
if definition is null, then try to create and register definition by provider based factory method first,
then create and cache container comparator.
It may lock containerMap.
namespace - namespacedefinition - definition of containerContainerLifecycleProcessor.whenCreated(cn.crane4j.core.container.ContainerDefinition, cn.crane4j.core.container.Container<java.lang.Object>)protected @Nullable ContainerDefinition createDefinition(Object cacheKey)
Create definition by provider based factory method.
if namespace is not belong to any container which has specified provider, then return null.
cacheKey - namespaceContainerLifecycleProcessor.whenRegistered(java.lang.Object, cn.crane4j.core.container.ContainerDefinition)protected Object getCacheKey(String namespace)
namespace - namespace of container,
which can also be the cache name for the container comparator.DefaultContainerManager.CacheKey, otherwise return String.ContainerManager.PROVIDER_NAME_PREFIXCopyright © 2023. All rights reserved.