Package org.springframework.core
Class SimpleAliasRegistry
java.lang.Object
org.springframework.core.SimpleAliasRegistry
- All Implemented Interfaces:
AliasRegistry
- Direct Known Subclasses:
DefaultSingletonBeanRegistry
,SimpleBeanDefinitionRegistry
Simple implementation of the
AliasRegistry
interface.
Serves as base class for
BeanDefinitionRegistry
implementations.
- Since:
- 2.5.2
- Author:
- Juergen Hoeller, Qimiao Chen, Sam Brannen
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Determine whether alias overriding is allowed.canonicalName
(String name) Determine the raw name, resolving aliases to canonical names.protected void
checkForAliasCircle
(String name, String alias) Check whether the given name points back to the given alias as an alias in the other direction already, catching a circular reference upfront and throwing a corresponding IllegalStateException.String[]
getAliases
(String name) Return the aliases for the given name, if defined.boolean
Determine whether the given name has the given alias registered.boolean
Determine whether the given name is defined as an alias (as opposed to the name of an actually registered component).void
registerAlias
(String name, String alias) Given a name, register an alias for it.void
removeAlias
(String alias) Remove the specified alias from this registry.void
resolveAliases
(StringValueResolver valueResolver) Resolve all alias target names and aliases registered in this registry, applying the givenStringValueResolver
to them.
-
Field Details
-
logger
Logger available to subclasses.
-
-
Constructor Details
-
SimpleAliasRegistry
public SimpleAliasRegistry()
-
-
Method Details
-
registerAlias
Description copied from interface:AliasRegistry
Given a name, register an alias for it.- Specified by:
registerAlias
in interfaceAliasRegistry
- Parameters:
name
- the canonical namealias
- the alias to be registered
-
allowAliasOverriding
protected boolean allowAliasOverriding()Determine whether alias overriding is allowed.Default is
true
. -
hasAlias
Determine whether the given name has the given alias registered.- Parameters:
name
- the name to checkalias
- the alias to look for- Since:
- 4.2.1
-
removeAlias
Description copied from interface:AliasRegistry
Remove the specified alias from this registry.- Specified by:
removeAlias
in interfaceAliasRegistry
- Parameters:
alias
- the alias to remove
-
isAlias
Description copied from interface:AliasRegistry
Determine whether the given name is defined as an alias (as opposed to the name of an actually registered component).- Specified by:
isAlias
in interfaceAliasRegistry
- Parameters:
name
- the name to check- Returns:
- whether the given name is an alias
-
getAliases
Description copied from interface:AliasRegistry
Return the aliases for the given name, if defined.- Specified by:
getAliases
in interfaceAliasRegistry
- Parameters:
name
- the name to check for aliases- Returns:
- the aliases, or an empty array if none
-
resolveAliases
Resolve all alias target names and aliases registered in this registry, applying the givenStringValueResolver
to them.The value resolver may for example resolve placeholders in target bean names and even in alias names.
- Parameters:
valueResolver
- the StringValueResolver to apply
-
checkForAliasCircle
Check whether the given name points back to the given alias as an alias in the other direction already, catching a circular reference upfront and throwing a corresponding IllegalStateException.- Parameters:
name
- the candidate namealias
- the candidate alias- See Also:
-
canonicalName
Determine the raw name, resolving aliases to canonical names.- Parameters:
name
- the user-specified name- Returns:
- the transformed name
-