| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.beans.factory.xml.AbstractBeanDefinitionParser
public abstract class AbstractBeanDefinitionParser
Abstract BeanDefinitionParser implementation providing
 a number of convenience methods and a
 template method
 that subclasses must override to provide the actual parsing logic.
 
Use this BeanDefinitionParser implementation when you want
 to parse some arbitrarily complex XML into one or more
 BeanDefinitions. If you just want to parse some
 XML into a single BeanDefinition, you may wish to consider
 the simpler convenience extensions of this class, namely
 AbstractSingleBeanDefinitionParser and
 AbstractSimpleBeanDefinitionParser.
| Field Summary | |
|---|---|
| static String | ID_ATTRIBUTEConstant for the id attribute | 
| Constructor Summary | |
|---|---|
| AbstractBeanDefinitionParser() | |
| Method Summary | |
|---|---|
|  BeanDefinition | parse(Element element,
      ParserContext parserContext)Parse the specified Elementand register the resultingBeanDefinition(s)with theParserContext.getRegistry()BeanDefinitionRegistry}
 embedded in the suppliedParserContext. | 
| protected abstract  AbstractBeanDefinition | parseInternal(Element element,
              ParserContext parserContext)Central template method to actually parse the supplied Elementinto one or moreBeanDefinitions. | 
| protected  void | postProcessComponentDefinition(BeanComponentDefinition componentDefinition)Hook method called after the primary parsing of a BeanComponentDefinitionbut before theBeanComponentDefinitionhas been registered with aBeanDefinitionRegistry. | 
| protected  void | registerBeanDefinition(BeanDefinitionHolder definition,
                       BeanDefinitionRegistry registry)Register the supplied beanwith the suppliedregistry. | 
| protected  String | resolveId(Element element,
          AbstractBeanDefinition definition,
          ParserContext parserContext)Resolve the ID for the supplied BeanDefinition. | 
| protected  boolean | shouldFireEvents()Controls whether this parser is supposed to fire a BeanComponentDefinitionevent after parsing the bean definition. | 
| protected  boolean | shouldGenerateId()Should an ID be generated instead of read from the passed in Element? | 
| protected  boolean | shouldGenerateIdAsFallback()Should an ID be generated instead if the passed in Elementdoes not
 specify an "id" attribute explicitly? | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final String ID_ATTRIBUTE
| Constructor Detail | 
|---|
public AbstractBeanDefinitionParser()
| Method Detail | 
|---|
public final BeanDefinition parse(Element element,
                                  ParserContext parserContext)
BeanDefinitionParserElement and register the resulting
 BeanDefinition(s) with the
 ParserContext.getRegistry() BeanDefinitionRegistry}
 embedded in the supplied ParserContext.
 Implementations must return the primary BeanDefinition that results
 from the parse if they will ever be used in a nested fashion (for example as
 an inner tag in a <property/> tag). Implementations may return
 null if they will not be used in a nested fashion.
parse in interface BeanDefinitionParserelement - the element that is to be parsed into one or more BeanDefinitionsparserContext - the object encapsulating the current state of the parsing process;
 provides access to a BeanDefinitionRegistry
BeanDefinition
protected String resolveId(Element element,
                           AbstractBeanDefinition definition,
                           ParserContext parserContext)
                    throws BeanDefinitionStoreException
BeanDefinition.
 When using generation, a name is generated automatically.
 Otherwise, the ID is extracted from the "id" attribute, potentially with a
 fallback to a generated id.
element - the element that the bean definition has been built fromdefinition - the bean definition to be registeredparserContext - the object encapsulating the current state of the parsing process;
 provides access to a BeanDefinitionRegistry
BeanDefinitionStoreException - if no unique name could be generated
 for the given bean definition
protected void registerBeanDefinition(BeanDefinitionHolder definition,
                                      BeanDefinitionRegistry registry)
bean with the supplied
 registry.
 Subclasses can override this method to control whether or not the supplied
 bean is actually even registered, or to
 register even more beans.
 
The default implementation registers the supplied bean
 with the supplied registry only if the isNested
 parameter is false, because one typically does not want inner beans
 to be registered as top level beans.
definition - the bean definition to be registeredregistry - the registry that the bean is to be registered withBeanDefinitionReaderUtils.registerBeanDefinition(BeanDefinitionHolder, BeanDefinitionRegistry)
protected abstract AbstractBeanDefinition parseInternal(Element element,
                                                        ParserContext parserContext)
Element
 into one or more BeanDefinitions.
element - the element that is to be parsed into one or more BeanDefinitionsparserContext - the object encapsulating the current state of the parsing process;
 provides access to a BeanDefinitionRegistry
BeanDefinition resulting from the parsing of the supplied Elementparse(org.w3c.dom.Element, ParserContext), 
postProcessComponentDefinition(org.springframework.beans.factory.parsing.BeanComponentDefinition)protected boolean shouldGenerateId()
Element?
 Disabled by default; subclasses can override this to enable ID generation. Note that this flag is about always generating an ID; the parser won't even check for an "id" attribute in this case.
protected boolean shouldGenerateIdAsFallback()
Element does not
 specify an "id" attribute explicitly?
 Disabled by default; subclasses can override this to enable ID generation as fallback: The parser will first check for an "id" attribute in this case, only falling back to a generated ID if no value was specified.
protected boolean shouldFireEvents()
BeanComponentDefinition
 event after parsing the bean definition.
 This implementation returns true by default; that is,
 an event will be fired when a bean definition has been completely parsed.
 Override this to return false in order to suppress the event.
true in order to fire a component registration event
 after parsing the bean definition; false to suppress the eventpostProcessComponentDefinition(org.springframework.beans.factory.parsing.BeanComponentDefinition), 
ReaderContext.fireComponentRegistered(org.springframework.beans.factory.parsing.ComponentDefinition)protected void postProcessComponentDefinition(BeanComponentDefinition componentDefinition)
BeanComponentDefinition but before the
 BeanComponentDefinition has been registered with a
 BeanDefinitionRegistry.
 Derived classes can override this method to supply any custom logic that is to be executed after all the parsing is finished.
The default implementation is a no-op.
componentDefinition - the BeanComponentDefinition that is to be processed| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||