public class SimpleAliasRegistry extends Object implements AliasRegistry
AliasRegistry
interface.
Serves as base class for
BeanDefinitionRegistry
implementations.
Modifier and Type | Field and Description |
---|---|
protected Log |
logger
Logger available to subclasses.
|
Constructor and Description |
---|
SimpleAliasRegistry() |
Modifier and Type | Method and Description |
---|---|
protected boolean |
allowAliasOverriding()
Determine whether alias overriding is allowed.
|
String |
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 |
hasAlias(String name,
String alias)
Determine whether the given name has the given alias registered.
|
boolean |
isAlias(String name)
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 given
StringValueResolver to them. |
protected final Log logger
public void registerAlias(String name, String alias)
AliasRegistry
registerAlias
in interface AliasRegistry
name
- the canonical namealias
- the alias to be registeredprotected boolean allowAliasOverriding()
Default is true
.
public boolean hasAlias(String name, String alias)
name
- the name to checkalias
- the alias to look forpublic void removeAlias(String alias)
AliasRegistry
removeAlias
in interface AliasRegistry
alias
- the alias to removepublic boolean isAlias(String name)
AliasRegistry
isAlias
in interface AliasRegistry
name
- the name to checkpublic String[] getAliases(String name)
AliasRegistry
getAliases
in interface AliasRegistry
name
- the name to check for aliasespublic void resolveAliases(StringValueResolver valueResolver)
StringValueResolver
to them.
The value resolver may for example resolve placeholders in target bean names and even in alias names.
valueResolver
- the StringValueResolver to applyprotected void checkForAliasCircle(String name, String alias)
name
- the candidate namealias
- the candidate aliasregisterAlias(java.lang.String, java.lang.String)
,
hasAlias(java.lang.String, java.lang.String)