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 ConcurrentMap<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.
|
Collection<Container<Object>> |
getAllLimitedContainers()
Get all limited containers.
|
protected Object |
getCacheKey(String namespace)
Get the 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 ContainerDefinition |
registerContainer(ContainerDefinition definition)
Register container
|
boolean |
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 ConcurrentMap<Object,Object> containerMap
protected final List<ContainerLifecycleProcessor> containerLifecycleProcessorList
protected final Map<String,ContainerProvider> containerProviderMap
public boolean 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 instancepublic @Nullable ContainerDefinition 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 Collection<Container<Object>> getAllLimitedContainers()
getAllLimitedContainers 在接口中 ContainerManagerpublic 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 belonged to any container that has a 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 © 2024. All rights reserved.