KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > springframework > beans > factory > config > ConfigurableListableBeanFactory


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

16
17 package org.springframework.beans.factory.config;
18
19 import org.springframework.beans.BeansException;
20 import org.springframework.beans.factory.ListableBeanFactory;
21 import org.springframework.beans.factory.NoSuchBeanDefinitionException;
22
23 /**
24  * Configuration interface to be implemented by most listable bean factories.
25  * In addition to {@link ConfigurableBeanFactory}, it provides facilities to
26  * analyze and modify bean definitions, and to pre-instantiate singletons.
27  *
28  * <p>This subinterface of {@link org.springframework.beans.factory.BeanFactory}
29  * is not meant to be used in normal application code: Stick to
30  * {@link org.springframework.beans.factory.BeanFactory} or
31  * {@link org.springframework.beans.factory.ListableBeanFactory} for typical
32  * use cases. This interface is just meant to allow for framework-internal
33  * plug'n'play even when needing access to bean factory configuration methods.
34  *
35  * @author Juergen Hoeller
36  * @since 03.11.2003
37  * @see org.springframework.context.support.AbstractApplicationContext#getBeanFactory()
38  */

39 public interface ConfigurableListableBeanFactory
40         extends ListableBeanFactory, AutowireCapableBeanFactory, ConfigurableBeanFactory {
41
42     /**
43      * Ignore the given dependency type for autowiring:
44      * for example, String. Default is none.
45      * @param type the dependency type to ignore
46      */

47     void ignoreDependencyType(Class JavaDoc type);
48
49     /**
50      * Ignore the given dependency interface for autowiring.
51      * <p>This will typically be used by application contexts to register
52      * dependencies that are resolved in other ways, like BeanFactory through
53      * BeanFactoryAware or ApplicationContext through ApplicationContextAware.
54      * <p>By default, only the BeanFactoryAware interface is ignored.
55      * For further types to ignore, invoke this method for each type.
56      * @param ifc the dependency interface to ignore
57      * @see org.springframework.beans.factory.BeanFactoryAware
58      * @see org.springframework.context.ApplicationContextAware
59      */

60     void ignoreDependencyInterface(Class JavaDoc ifc);
61
62     /**
63      * Return the registered BeanDefinition for the given bean, allowing access
64      * to its property values and constructor argument value (which can be
65      * modified during bean factory post-processing).
66      * <p>A returned BeanDefinition object should not be a copy but the original
67      * definition object as registered in the factory. This means that it should
68      * be castable to a more specific implementation type, if necessary.
69      * @param beanName name of the bean
70      * @return the registered BeanDefinition
71      * @throws NoSuchBeanDefinitionException if there is no bean with the given name
72      */

73     BeanDefinition getBeanDefinition(String JavaDoc beanName) throws NoSuchBeanDefinitionException;
74
75     /**
76      * Ensure that all non-lazy-init singletons are instantiated, also considering
77      * {@link org.springframework.beans.factory.FactoryBean FactoryBeans}.
78      * Typically invoked at the end of factory setup, if desired.
79      * @throws BeansException if one of the singleton beans could not be created.
80      * Note: This may have left the factory with some beans already initialized!
81      * Call {@link #destroySingletons()} for full cleanup in this case.
82      * @see #destroySingletons()
83      */

84     void preInstantiateSingletons() throws BeansException;
85
86 }
87
Popular Tags