org.springframework.beans.factory.support
Interface BeanDefinitionRegistry

All Known Implementing Classes:
DefaultListableBeanFactory, GenericApplicationContext, GenericWebApplicationContext, StaticApplicationContext, StaticWebApplicationContext, XmlBeanFactory

public interface BeanDefinitionRegistry

Interface for registries that hold bean definitions, for example RootBeanDefinition and ChildBeanDefinition instances. Typically implemented by bean factories that internally work with the AbstractBeanDefinition hierarchy.

This is the only interface in Spring's bean factory packages that encapsulates registration of bean definitions. The standard bean factory interfaces only cover access to a fully configured factory instance.

Spring's bean definition readers expect to work on an implementation of this interface. Known implementors are DefaultListableBeanFactory and GenericApplicationContext, for example.

Since:
26.11.2003
Author:
Juergen Hoeller
See Also:
BeanDefinition, AbstractBeanDefinition, RootBeanDefinition, ChildBeanDefinition, DefaultListableBeanFactory, GenericApplicationContext, XmlBeanDefinitionReader, PropertiesBeanDefinitionReader

Method Summary
 boolean containsBeanDefinition(String beanName)
          Check if this registry contains a bean definition with the given name.
 String[] getAliases(String beanName)
          Return the aliases for the given bean name, if defined.
 BeanDefinition getBeanDefinition(String beanName)
          Return the BeanDefinition for the given bean name.
 int getBeanDefinitionCount()
          Return the number of beans defined in the registry.
 String[] getBeanDefinitionNames()
          Return the names of all beans defined in this registry.
 void registerAlias(String beanName, String alias)
          Given a bean name, create an alias.
 void registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
          Register a new bean definition with this registry.
 

Method Detail

getBeanDefinitionCount

int getBeanDefinitionCount()
Return the number of beans defined in the registry.

Returns:
the number of beans defined in the registry

getBeanDefinitionNames

String[] getBeanDefinitionNames()
Return the names of all beans defined in this registry.

Returns:
the names of all beans defined in this registry, or an empty array if none defined

containsBeanDefinition

boolean containsBeanDefinition(String beanName)
Check if this registry contains a bean definition with the given name.

Parameters:
beanName - the name of the bean to look for
Returns:
if this bean factory contains a bean definition with the given name

getBeanDefinition

BeanDefinition getBeanDefinition(String beanName)
                                 throws NoSuchBeanDefinitionException
Return the BeanDefinition for the given bean name.

Parameters:
beanName - name of the bean to find a definition for
Returns:
the BeanDefinition for the given name (never null)
Throws:
NoSuchBeanDefinitionException - if there is no such bean definition

registerBeanDefinition

void registerBeanDefinition(String beanName,
                            BeanDefinition beanDefinition)
                            throws BeansException
Register a new bean definition with this registry. Must support RootBeanDefinition and ChildBeanDefinition.

Parameters:
beanName - the name of the bean instance to register
beanDefinition - definition of the bean instance to register
Throws:
BeansException - if the bean definition is invalid
See Also:
RootBeanDefinition, ChildBeanDefinition

getAliases

String[] getAliases(String beanName)
                    throws NoSuchBeanDefinitionException
Return the aliases for the given bean name, if defined.

Will ask the parent factory if the bean cannot be found in this factory instance.

Parameters:
beanName - the bean name to check for aliases
Returns:
the aliases, or an empty array if none
Throws:
NoSuchBeanDefinitionException - if there is no such bean definition

registerAlias

void registerAlias(String beanName,
                   String alias)
                   throws BeansException
Given a bean name, create an alias. We typically use this method to support names that are illegal within XML ids (used for bean names).

Parameters:
beanName - the name of the bean
alias - alias that will behave the same as the bean name
Throws:
NoSuchBeanDefinitionException - if there is no bean definition with the given name
BeansException - if the alias is already in use


Copyright (c) 2002-2005 The Spring Framework Project.