/*
 * Copyright 2002-2012 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.springframework.beans.factory;

import org.springframework.lang.Nullable;

Sub-interface implemented by bean factories that can be part of a hierarchy.

The corresponding setParentBeanFactory method for bean factories that allow setting the parent in a configurable fashion can be found in the ConfigurableBeanFactory interface.

Author:Rod Johnson, Juergen Hoeller
See Also:
Since:07.07.2003
/** * Sub-interface implemented by bean factories that can be part * of a hierarchy. * * <p>The corresponding {@code setParentBeanFactory} method for bean * factories that allow setting the parent in a configurable * fashion can be found in the ConfigurableBeanFactory interface. * * @author Rod Johnson * @author Juergen Hoeller * @since 07.07.2003 * @see org.springframework.beans.factory.config.ConfigurableBeanFactory#setParentBeanFactory */
public interface HierarchicalBeanFactory extends BeanFactory {
Return the parent bean factory, or null if there is none.
/** * Return the parent bean factory, or {@code null} if there is none. */
@Nullable BeanFactory getParentBeanFactory();
Return whether the local bean factory contains a bean of the given name, ignoring beans defined in ancestor contexts.

This is an alternative to containsBean, ignoring a bean of the given name from an ancestor bean factory.

Params:
  • name – the name of the bean to query
See Also:
Returns:whether a bean with the given name is defined in the local factory
/** * Return whether the local bean factory contains a bean of the given name, * ignoring beans defined in ancestor contexts. * <p>This is an alternative to {@code containsBean}, ignoring a bean * of the given name from an ancestor bean factory. * @param name the name of the bean to query * @return whether a bean with the given name is defined in the local factory * @see BeanFactory#containsBean */
boolean containsLocalBean(String name); }