Package org.springframework.core

# Class SimpleAliasRegistry

java.lang.Object
org.springframework.core.SimpleAliasRegistry

All Implemented Interfaces:
  `AliasRegistry`

public class SimpleAliasRegistry extends Object implements AliasRegistry
Simple implementation of the `AliasRegistry` interface.

Serves as base class for `org.springframework.beans.factory.support.BeanDefinitionRegistry` implementations.

Since:
  2.5.2
Author:
  Juergen Hoeller, Qimiao Chen, Sam Brannen

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final org.apache.commons.logging.Log`
`logger`
Logger available to subclasses.

## Constructor Summary

Constructors
Constructor
Description
`SimpleAliasRegistry()`

## Method Summary

Modifier and Type
Method
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.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### logger

protected final org.apache.commons.logging.Log logger
Logger available to subclasses.

## Constructor Details

### SimpleAliasRegistry

public SimpleAliasRegistry()

## Method Details

### registerAlias

public void registerAlias(String name, String alias)
Description copied from interface: `AliasRegistry`
Given a name, register an alias for it.

Specified by:
  `registerAlias` in interface `AliasRegistry`
Parameters:
  `name` - the canonical name
  `alias` - the alias to be registered

### allowAliasOverriding

protected boolean allowAliasOverriding()
Determine whether alias overriding is allowed.

Default is `true`.

### hasAlias

public boolean hasAlias(String name, String alias)
Determine whether the given name has the given alias registered.

Parameters:
  `name` - the name to check
  `alias` - the alias to look for
Since:
  4.2.1

### removeAlias

public void removeAlias(String alias)
Description copied from interface: `AliasRegistry`
Remove the specified alias from this registry.

Specified by:
  `removeAlias` in interface `AliasRegistry`
Parameters:
  `alias` - the alias to remove

### isAlias

public boolean isAlias(String name)
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 interface `AliasRegistry`
Parameters:
  `name` - the name to check
Returns:
  whether the given name is an alias

### getAliases

public String[] getAliases(String name)
Description copied from interface: `AliasRegistry`
Return the aliases for the given name, if defined.

Specified by:
  `getAliases` in interface `AliasRegistry`
Parameters:
  `name` - the name to check for aliases
Returns:
  the aliases, or an empty array if none

### resolveAliases

public void resolveAliases(StringValueResolver valueResolver)
Resolve all alias target names and aliases registered in this registry, applying the given `StringValueResolver` 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

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.

Parameters:
  `name` - the candidate name
  `alias` - the candidate alias
See Also:
  - `registerAlias(java.lang.String, java.lang.String)`
  - `hasAlias(java.lang.String, java.lang.String)`

### canonicalName

public String canonicalName(String name)
Determine the raw name, resolving aliases to canonical names.

Parameters:
  `name` - the user-specified name
Returns:
  the transformed name