Class SimpleAliasRegistry

java.lang.Object
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, Qimiao Chen
  • Field Details

    • logger

      protected final 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:
    • 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