org.springframework.core
Class SimpleAliasRegistry

java.lang.Object
  extended by org.springframework.core.SimpleAliasRegistry
All Implemented Interfaces:
AliasRegistry
Direct Known Subclasses:
DefaultSingletonBeanRegistry, SimpleBeanDefinitionRegistry

public class SimpleAliasRegistry
extends Object
implements AliasRegistry

Simple implementation of the AliasRegistry interface. Serves as base class for BeanDefinitionRegistry implementations.

Since:
2.5.2
Author:
Juergen Hoeller

Constructor Summary
SimpleAliasRegistry()
           
 
Method Summary
protected  boolean allowAliasOverriding()
          Return 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 given alias as an alias in the other direction, catching a circular reference upfront and throwing a corresponding IllegalStateException.
 String[] getAliases(String name)
          Return the aliases for the given name, if defined.
 boolean isAlias(String name)
          Determine whether this given name is defines 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 factory, applying the given StringValueResolver to them.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleAliasRegistry

public SimpleAliasRegistry()
Method Detail

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()
Return whether alias overriding is allowed. Default is true.


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 this given name is defines as an alias (as opposed to the name of an actually registered component).

Specified by:
isAlias in interface AliasRegistry
Parameters:
name - the bean 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 factory, 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

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

checkForAliasCircle

protected void checkForAliasCircle(String name,
                                   String alias)
Check whether the given name points back to given alias as an alias in the other direction, 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)