org.springframework.beans.factory.xml
Class BeanDefinitionParserDelegate

java.lang.Object
  extended by org.springframework.beans.factory.xml.BeanDefinitionParserDelegate

public class BeanDefinitionParserDelegate
extends java.lang.Object

Stateful delegate class used to parse XML bean definitions. Intended for use by both the main parser and any extension BeanDefinitionParsers or BeanDefinitionDecorators.

Since:
2.0
Author:
Rob Harrop, Juergen Hoeller, Rod Johnson, Mark Fisher
See Also:
ParserContext, DefaultBeanDefinitionDocumentReader

Field Summary
static java.lang.String ABSTRACT_ATTRIBUTE
           
static java.lang.String ARG_TYPE_ELEMENT
           
static java.lang.String ARG_TYPE_MATCH_ATTRIBUTE
           
static java.lang.String ARRAY_ELEMENT
           
static java.lang.String AUTOWIRE_ATTRIBUTE
           
static java.lang.String AUTOWIRE_AUTODETECT_VALUE
           
static java.lang.String AUTOWIRE_BY_NAME_VALUE
           
static java.lang.String AUTOWIRE_BY_TYPE_VALUE
           
static java.lang.String AUTOWIRE_CANDIDATE_ATTRIBUTE
           
static java.lang.String AUTOWIRE_CONSTRUCTOR_VALUE
           
static java.lang.String BEAN_ELEMENT
           
static java.lang.String BEAN_NAME_DELIMITERS
           
static java.lang.String BEAN_REF_ATTRIBUTE
           
static java.lang.String BEANS_NAMESPACE_URI
           
static java.lang.String CLASS_ATTRIBUTE
           
static java.lang.String CONSTRUCTOR_ARG_ELEMENT
           
static java.lang.String DEFAULT_AUTOWIRE_ATTRIBUTE
           
static java.lang.String DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE
           
static java.lang.String DEFAULT_DEPENDENCY_CHECK_ATTRIBUTE
           
static java.lang.String DEFAULT_DESTROY_METHOD_ATTRIBUTE
           
static java.lang.String DEFAULT_INIT_METHOD_ATTRIBUTE
           
static java.lang.String DEFAULT_LAZY_INIT_ATTRIBUTE
           
static java.lang.String DEFAULT_MERGE_ATTRIBUTE
           
static java.lang.String DEFAULT_VALUE
           
private  DocumentDefaultsDefinition defaults
           
static java.lang.String DEPENDENCY_CHECK_ALL_ATTRIBUTE_VALUE
           
static java.lang.String DEPENDENCY_CHECK_ATTRIBUTE
           
static java.lang.String DEPENDENCY_CHECK_OBJECTS_ATTRIBUTE_VALUE
           
static java.lang.String DEPENDENCY_CHECK_SIMPLE_ATTRIBUTE_VALUE
           
static java.lang.String DEPENDS_ON_ATTRIBUTE
           
static java.lang.String DESCRIPTION_ELEMENT
           
static java.lang.String DESTROY_METHOD_ATTRIBUTE
           
static java.lang.String ENTRY_ELEMENT
           
static java.lang.String FACTORY_BEAN_ATTRIBUTE
           
static java.lang.String FACTORY_METHOD_ATTRIBUTE
           
static java.lang.String ID_ATTRIBUTE
           
static java.lang.String IDREF_ELEMENT
           
static java.lang.String INDEX_ATTRIBUTE
           
static java.lang.String INIT_METHOD_ATTRIBUTE
           
static java.lang.String KEY_ATTRIBUTE
           
static java.lang.String KEY_ELEMENT
           
static java.lang.String KEY_REF_ATTRIBUTE
           
static java.lang.String KEY_TYPE_ATTRIBUTE
           
static java.lang.String LAZY_INIT_ATTRIBUTE
           
static java.lang.String LIST_ELEMENT
           
static java.lang.String LOCAL_REF_ATTRIBUTE
           
protected  Log logger
           
static java.lang.String LOOKUP_METHOD_ELEMENT
           
static java.lang.String MAP_ELEMENT
           
static java.lang.String MERGE_ATTRIBUTE
           
static java.lang.String META_ELEMENT
           
static java.lang.String NAME_ATTRIBUTE
           
static java.lang.String NULL_ELEMENT
           
static java.lang.String PARENT_ATTRIBUTE
           
static java.lang.String PARENT_REF_ATTRIBUTE
           
private  ParseState parseState
           
static java.lang.String PRIMARY_ATTRIBUTE
           
static java.lang.String PROP_ELEMENT
           
static java.lang.String PROPERTY_ELEMENT
           
static java.lang.String PROPS_ELEMENT
           
static java.lang.String QUALIFIER_ATTRIBUTE_ELEMENT
           
static java.lang.String QUALIFIER_ELEMENT
           
private  XmlReaderContext readerContext
           
static java.lang.String REF_ATTRIBUTE
           
static java.lang.String REF_ELEMENT
           
static java.lang.String REPLACED_METHOD_ELEMENT
           
static java.lang.String REPLACER_ATTRIBUTE
           
static java.lang.String SCOPE_ATTRIBUTE
           
static java.lang.String SET_ELEMENT
           
static java.lang.String SINGLETON_ATTRIBUTE
           
static java.lang.String TRUE_VALUE
          Value of a T/F attribute that represents true.
static java.lang.String TYPE_ATTRIBUTE
           
private  java.util.Set<java.lang.String> usedNames
          Stores all used bean names so we can enforce uniqueness on a per file basis.
static java.lang.String VALUE_ATTRIBUTE
           
static java.lang.String VALUE_ELEMENT
           
static java.lang.String VALUE_REF_ATTRIBUTE
           
static java.lang.String VALUE_TYPE_ATTRIBUTE
           
 
Constructor Summary
BeanDefinitionParserDelegate(XmlReaderContext readerContext)
          Create a new BeanDefinitionParserDelegate associated with the supplied XmlReaderContext.
 
Method Summary
protected  TypedStringValue buildTypedStringValue(java.lang.String value, java.lang.String targetTypeName)
          Build a typed String value Object for the given raw value.
protected  java.lang.Object buildTypedStringValueForMap(java.lang.String value, java.lang.String defaultTypeName, org.w3c.dom.Element entryEle)
          Build a typed String value Object for the given raw value.
protected  void checkNameUniqueness(java.lang.String beanName, java.util.List<java.lang.String> aliases, org.w3c.dom.Element beanElement)
          Validate that the specified bean name and aliases have not been used already.
protected  AbstractBeanDefinition createBeanDefinition(java.lang.String className, java.lang.String parentName)
          Create a bean definition for the given class name and parent name.
 BeanDefinitionHolder decorateBeanDefinitionIfRequired(org.w3c.dom.Element ele, BeanDefinitionHolder definitionHolder)
           
 BeanDefinitionHolder decorateBeanDefinitionIfRequired(org.w3c.dom.Element ele, BeanDefinitionHolder definitionHolder, BeanDefinition containingBd)
           
private  BeanDefinitionHolder decorateIfRequired(org.w3c.dom.Node node, BeanDefinitionHolder originalDef, BeanDefinition containingBd)
           
protected  void error(java.lang.String message, org.w3c.dom.Element source)
          Report an error with the given message for the given source element.
protected  void error(java.lang.String message, org.w3c.dom.Element source, java.lang.Throwable cause)
          Report an error with the given message for the given source element.
protected  void error(java.lang.String message, org.w3c.dom.Node source)
          Report an error with the given message for the given source element.
protected  java.lang.Object extractSource(org.w3c.dom.Element ele)
          Invoke the SourceExtractor to pull the source metadata from the supplied Element.
 java.lang.String[] getAutowireCandidatePatterns()
          Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level <beans/> element.
 int getAutowireMode(java.lang.String attValue)
           
 BeanDefinitionDefaults getBeanDefinitionDefaults()
          Return the default settings for bean definitions as indicated within the attributes of the top-level <beans/> element.
 DocumentDefaultsDefinition getDefaults()
          Return the defaults definition object, or null if the defaults have been initialized yet.
 int getDependencyCheck(java.lang.String attValue)
           
 java.lang.String getLocalName(org.w3c.dom.Node node)
          Ges the local name for the supplied Node.
 java.lang.String getNamespaceURI(org.w3c.dom.Node node)
          Get the namespace URI for the supplied node.
 XmlReaderContext getReaderContext()
          Get the XmlReaderContext associated with this helper instance.
 void initDefaults(org.w3c.dom.Element root)
          Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.
private  boolean isCandidateElement(org.w3c.dom.Node node)
           
 boolean isDefaultNamespace(org.w3c.dom.Node node)
           
 boolean isDefaultNamespace(java.lang.String namespaceUri)
           
 boolean nodeNameEquals(org.w3c.dom.Node node, java.lang.String desiredName)
          Determine whether the name of the supplied node is equal to the supplied name.
 java.lang.Object parseArrayElement(org.w3c.dom.Element arrayEle, BeanDefinition bd)
          Parse an array element.
 AbstractBeanDefinition parseBeanDefinitionAttributes(org.w3c.dom.Element ele, java.lang.String beanName, BeanDefinition containingBean, AbstractBeanDefinition bd)
          Apply the attributes of the given bean element to the given bean * definition.
 BeanDefinitionHolder parseBeanDefinitionElement(org.w3c.dom.Element ele)
          Parses the supplied <bean> element.
 BeanDefinitionHolder parseBeanDefinitionElement(org.w3c.dom.Element ele, BeanDefinition containingBean)
          Parses the supplied <bean> element.
 AbstractBeanDefinition parseBeanDefinitionElement(org.w3c.dom.Element ele, java.lang.String beanName, BeanDefinition containingBean)
          Parse the bean definition itself, without regard to name or aliases.
protected  void parseCollectionElements(org.w3c.dom.NodeList elementNodes, java.util.Collection<java.lang.Object> target, BeanDefinition bd, java.lang.String defaultElementType)
           
 void parseConstructorArgElement(org.w3c.dom.Element ele, BeanDefinition bd)
          Parse a constructor-arg element.
 void parseConstructorArgElements(org.w3c.dom.Element beanEle, BeanDefinition bd)
          Parse constructor-arg sub-elements of the given bean element.
 BeanDefinition parseCustomElement(org.w3c.dom.Element ele)
           
 BeanDefinition parseCustomElement(org.w3c.dom.Element ele, BeanDefinition containingBd)
           
 java.lang.Object parseIdRefElement(org.w3c.dom.Element ele)
          Return a typed String value Object for the given 'idref' element.
protected  java.lang.Object parseKeyElement(org.w3c.dom.Element keyEle, BeanDefinition bd, java.lang.String defaultKeyTypeName)
          Parse a key sub-element of a map element.
 java.util.List parseListElement(org.w3c.dom.Element collectionEle, BeanDefinition bd)
          Parse a list element.
 void parseLookupOverrideSubElements(org.w3c.dom.Element beanEle, MethodOverrides overrides)
          Parse lookup-override sub-elements of the given bean element.
 java.util.Map parseMapElement(org.w3c.dom.Element mapEle, BeanDefinition bd)
          Parse a map element.
 boolean parseMergeAttribute(org.w3c.dom.Element collectionElement)
          Parse the merge attribute of a collection element, if any.
 void parseMetaElements(org.w3c.dom.Element ele, BeanMetadataAttributeAccessor attributeAccessor)
           
private  BeanDefinitionHolder parseNestedCustomElement(org.w3c.dom.Element ele, BeanDefinition containingBd)
           
 void parsePropertyElement(org.w3c.dom.Element ele, BeanDefinition bd)
          Parse a property element.
 void parsePropertyElements(org.w3c.dom.Element beanEle, BeanDefinition bd)
          Parse property sub-elements of the given bean element.
 java.lang.Object parsePropertySubElement(org.w3c.dom.Element ele, BeanDefinition bd)
           
 java.lang.Object parsePropertySubElement(org.w3c.dom.Element ele, BeanDefinition bd, java.lang.String defaultValueType)
          Parse a value, ref or collection sub-element of a property or constructor-arg element.
 java.lang.Object parsePropertyValue(org.w3c.dom.Element ele, BeanDefinition bd, java.lang.String propertyName)
          Get the value of a property element.
 java.util.Properties parsePropsElement(org.w3c.dom.Element propsEle)
          Parse a props element.
 void parseQualifierElement(org.w3c.dom.Element ele, AbstractBeanDefinition bd)
          Parse a qualifier element.
 void parseQualifierElements(org.w3c.dom.Element beanEle, AbstractBeanDefinition bd)
          Parse qualifier sub-elements of the given bean element.
 void parseReplacedMethodSubElements(org.w3c.dom.Element beanEle, MethodOverrides overrides)
          Parse replaced-method sub-elements of the given bean element.
 java.util.Set parseSetElement(org.w3c.dom.Element collectionEle, BeanDefinition bd)
          Parse a set element.
 java.lang.Object parseValueElement(org.w3c.dom.Element ele, java.lang.String defaultTypeName)
          Return a typed String value Object for the given value element.
protected  void populateDefaults(DocumentDefaultsDefinition defaults, org.w3c.dom.Element root)
          Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

BEANS_NAMESPACE_URI

public static final java.lang.String BEANS_NAMESPACE_URI
See Also:
Constant Field Values

BEAN_NAME_DELIMITERS

public static final java.lang.String BEAN_NAME_DELIMITERS
See Also:
Constant Field Values

TRUE_VALUE

public static final java.lang.String TRUE_VALUE
Value of a T/F attribute that represents true. Anything else represents false. Case seNsItive.

See Also:
Constant Field Values

DEFAULT_VALUE

public static final java.lang.String DEFAULT_VALUE
See Also:
Constant Field Values

DESCRIPTION_ELEMENT

public static final java.lang.String DESCRIPTION_ELEMENT
See Also:
Constant Field Values

AUTOWIRE_BY_NAME_VALUE

public static final java.lang.String AUTOWIRE_BY_NAME_VALUE
See Also:
Constant Field Values

AUTOWIRE_BY_TYPE_VALUE

public static final java.lang.String AUTOWIRE_BY_TYPE_VALUE
See Also:
Constant Field Values

AUTOWIRE_CONSTRUCTOR_VALUE

public static final java.lang.String AUTOWIRE_CONSTRUCTOR_VALUE
See Also:
Constant Field Values

AUTOWIRE_AUTODETECT_VALUE

public static final java.lang.String AUTOWIRE_AUTODETECT_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_ALL_ATTRIBUTE_VALUE

public static final java.lang.String DEPENDENCY_CHECK_ALL_ATTRIBUTE_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_SIMPLE_ATTRIBUTE_VALUE

public static final java.lang.String DEPENDENCY_CHECK_SIMPLE_ATTRIBUTE_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_OBJECTS_ATTRIBUTE_VALUE

public static final java.lang.String DEPENDENCY_CHECK_OBJECTS_ATTRIBUTE_VALUE
See Also:
Constant Field Values

NAME_ATTRIBUTE

public static final java.lang.String NAME_ATTRIBUTE
See Also:
Constant Field Values

BEAN_ELEMENT

public static final java.lang.String BEAN_ELEMENT
See Also:
Constant Field Values

META_ELEMENT

public static final java.lang.String META_ELEMENT
See Also:
Constant Field Values

ID_ATTRIBUTE

public static final java.lang.String ID_ATTRIBUTE
See Also:
Constant Field Values

PARENT_ATTRIBUTE

public static final java.lang.String PARENT_ATTRIBUTE
See Also:
Constant Field Values

CLASS_ATTRIBUTE

public static final java.lang.String CLASS_ATTRIBUTE
See Also:
Constant Field Values

ABSTRACT_ATTRIBUTE

public static final java.lang.String ABSTRACT_ATTRIBUTE
See Also:
Constant Field Values

SCOPE_ATTRIBUTE

public static final java.lang.String SCOPE_ATTRIBUTE
See Also:
Constant Field Values

SINGLETON_ATTRIBUTE

public static final java.lang.String SINGLETON_ATTRIBUTE
See Also:
Constant Field Values

LAZY_INIT_ATTRIBUTE

public static final java.lang.String LAZY_INIT_ATTRIBUTE
See Also:
Constant Field Values

AUTOWIRE_ATTRIBUTE

public static final java.lang.String AUTOWIRE_ATTRIBUTE
See Also:
Constant Field Values

AUTOWIRE_CANDIDATE_ATTRIBUTE

public static final java.lang.String AUTOWIRE_CANDIDATE_ATTRIBUTE
See Also:
Constant Field Values

PRIMARY_ATTRIBUTE

public static final java.lang.String PRIMARY_ATTRIBUTE
See Also:
Constant Field Values

DEPENDENCY_CHECK_ATTRIBUTE

public static final java.lang.String DEPENDENCY_CHECK_ATTRIBUTE
See Also:
Constant Field Values

DEPENDS_ON_ATTRIBUTE

public static final java.lang.String DEPENDS_ON_ATTRIBUTE
See Also:
Constant Field Values

INIT_METHOD_ATTRIBUTE

public static final java.lang.String INIT_METHOD_ATTRIBUTE
See Also:
Constant Field Values

DESTROY_METHOD_ATTRIBUTE

public static final java.lang.String DESTROY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

FACTORY_METHOD_ATTRIBUTE

public static final java.lang.String FACTORY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

FACTORY_BEAN_ATTRIBUTE

public static final java.lang.String FACTORY_BEAN_ATTRIBUTE
See Also:
Constant Field Values

CONSTRUCTOR_ARG_ELEMENT

public static final java.lang.String CONSTRUCTOR_ARG_ELEMENT
See Also:
Constant Field Values

INDEX_ATTRIBUTE

public static final java.lang.String INDEX_ATTRIBUTE
See Also:
Constant Field Values

TYPE_ATTRIBUTE

public static final java.lang.String TYPE_ATTRIBUTE
See Also:
Constant Field Values

VALUE_TYPE_ATTRIBUTE

public static final java.lang.String VALUE_TYPE_ATTRIBUTE
See Also:
Constant Field Values

KEY_TYPE_ATTRIBUTE

public static final java.lang.String KEY_TYPE_ATTRIBUTE
See Also:
Constant Field Values

PROPERTY_ELEMENT

public static final java.lang.String PROPERTY_ELEMENT
See Also:
Constant Field Values

REF_ATTRIBUTE

public static final java.lang.String REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_ATTRIBUTE

public static final java.lang.String VALUE_ATTRIBUTE
See Also:
Constant Field Values

LOOKUP_METHOD_ELEMENT

public static final java.lang.String LOOKUP_METHOD_ELEMENT
See Also:
Constant Field Values

REPLACED_METHOD_ELEMENT

public static final java.lang.String REPLACED_METHOD_ELEMENT
See Also:
Constant Field Values

REPLACER_ATTRIBUTE

public static final java.lang.String REPLACER_ATTRIBUTE
See Also:
Constant Field Values

ARG_TYPE_ELEMENT

public static final java.lang.String ARG_TYPE_ELEMENT
See Also:
Constant Field Values

ARG_TYPE_MATCH_ATTRIBUTE

public static final java.lang.String ARG_TYPE_MATCH_ATTRIBUTE
See Also:
Constant Field Values

REF_ELEMENT

public static final java.lang.String REF_ELEMENT
See Also:
Constant Field Values

IDREF_ELEMENT

public static final java.lang.String IDREF_ELEMENT
See Also:
Constant Field Values

BEAN_REF_ATTRIBUTE

public static final java.lang.String BEAN_REF_ATTRIBUTE
See Also:
Constant Field Values

LOCAL_REF_ATTRIBUTE

public static final java.lang.String LOCAL_REF_ATTRIBUTE
See Also:
Constant Field Values

PARENT_REF_ATTRIBUTE

public static final java.lang.String PARENT_REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_ELEMENT

public static final java.lang.String VALUE_ELEMENT
See Also:
Constant Field Values

NULL_ELEMENT

public static final java.lang.String NULL_ELEMENT
See Also:
Constant Field Values

ARRAY_ELEMENT

public static final java.lang.String ARRAY_ELEMENT
See Also:
Constant Field Values

LIST_ELEMENT

public static final java.lang.String LIST_ELEMENT
See Also:
Constant Field Values

SET_ELEMENT

public static final java.lang.String SET_ELEMENT
See Also:
Constant Field Values

MAP_ELEMENT

public static final java.lang.String MAP_ELEMENT
See Also:
Constant Field Values

ENTRY_ELEMENT

public static final java.lang.String ENTRY_ELEMENT
See Also:
Constant Field Values

KEY_ELEMENT

public static final java.lang.String KEY_ELEMENT
See Also:
Constant Field Values

KEY_ATTRIBUTE

public static final java.lang.String KEY_ATTRIBUTE
See Also:
Constant Field Values

KEY_REF_ATTRIBUTE

public static final java.lang.String KEY_REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_REF_ATTRIBUTE

public static final java.lang.String VALUE_REF_ATTRIBUTE
See Also:
Constant Field Values

PROPS_ELEMENT

public static final java.lang.String PROPS_ELEMENT
See Also:
Constant Field Values

PROP_ELEMENT

public static final java.lang.String PROP_ELEMENT
See Also:
Constant Field Values

MERGE_ATTRIBUTE

public static final java.lang.String MERGE_ATTRIBUTE
See Also:
Constant Field Values

QUALIFIER_ELEMENT

public static final java.lang.String QUALIFIER_ELEMENT
See Also:
Constant Field Values

QUALIFIER_ATTRIBUTE_ELEMENT

public static final java.lang.String QUALIFIER_ATTRIBUTE_ELEMENT
See Also:
Constant Field Values

DEFAULT_LAZY_INIT_ATTRIBUTE

public static final java.lang.String DEFAULT_LAZY_INIT_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_MERGE_ATTRIBUTE

public static final java.lang.String DEFAULT_MERGE_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_AUTOWIRE_ATTRIBUTE

public static final java.lang.String DEFAULT_AUTOWIRE_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_DEPENDENCY_CHECK_ATTRIBUTE

public static final java.lang.String DEFAULT_DEPENDENCY_CHECK_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE

public static final java.lang.String DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_INIT_METHOD_ATTRIBUTE

public static final java.lang.String DEFAULT_INIT_METHOD_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_DESTROY_METHOD_ATTRIBUTE

public static final java.lang.String DEFAULT_DESTROY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

logger

protected final Log logger

readerContext

private final XmlReaderContext readerContext

defaults

private final DocumentDefaultsDefinition defaults

parseState

private final ParseState parseState

usedNames

private final java.util.Set<java.lang.String> usedNames
Stores all used bean names so we can enforce uniqueness on a per file basis.

Constructor Detail

BeanDefinitionParserDelegate

public BeanDefinitionParserDelegate(XmlReaderContext readerContext)
Create a new BeanDefinitionParserDelegate associated with the supplied XmlReaderContext.

Method Detail

getReaderContext

public final XmlReaderContext getReaderContext()
Get the XmlReaderContext associated with this helper instance.


extractSource

protected java.lang.Object extractSource(org.w3c.dom.Element ele)
Invoke the SourceExtractor to pull the source metadata from the supplied Element.


error

protected void error(java.lang.String message,
                     org.w3c.dom.Node source)
Report an error with the given message for the given source element.


error

protected void error(java.lang.String message,
                     org.w3c.dom.Element source)
Report an error with the given message for the given source element.


error

protected void error(java.lang.String message,
                     org.w3c.dom.Element source,
                     java.lang.Throwable cause)
Report an error with the given message for the given source element.


initDefaults

public void initDefaults(org.w3c.dom.Element root)
Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.

See Also:
populateDefaults(DocumentDefaultsDefinition, org.w3c.dom.Element), getDefaults()

populateDefaults

protected void populateDefaults(DocumentDefaultsDefinition defaults,
                                org.w3c.dom.Element root)
Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.


getDefaults

public DocumentDefaultsDefinition getDefaults()
Return the defaults definition object, or null if the defaults have been initialized yet.


getBeanDefinitionDefaults

public BeanDefinitionDefaults getBeanDefinitionDefaults()
Return the default settings for bean definitions as indicated within the attributes of the top-level <beans/> element.


getAutowireCandidatePatterns

public java.lang.String[] getAutowireCandidatePatterns()
Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level <beans/> element.


parseBeanDefinitionElement

public BeanDefinitionHolder parseBeanDefinitionElement(org.w3c.dom.Element ele)
Parses the supplied <bean> element. May return null if there were errors during parse. Errors are reported to the ProblemReporter.


parseBeanDefinitionElement

public BeanDefinitionHolder parseBeanDefinitionElement(org.w3c.dom.Element ele,
                                                       BeanDefinition containingBean)
Parses the supplied <bean> element. May return null if there were errors during parse. Errors are reported to the ProblemReporter.


checkNameUniqueness

protected void checkNameUniqueness(java.lang.String beanName,
                                   java.util.List<java.lang.String> aliases,
                                   org.w3c.dom.Element beanElement)
Validate that the specified bean name and aliases have not been used already.


parseBeanDefinitionElement

public AbstractBeanDefinition parseBeanDefinitionElement(org.w3c.dom.Element ele,
                                                         java.lang.String beanName,
                                                         BeanDefinition containingBean)
Parse the bean definition itself, without regard to name or aliases. May return null if problems occured during the parse of the bean definition.


parseBeanDefinitionAttributes

public AbstractBeanDefinition parseBeanDefinitionAttributes(org.w3c.dom.Element ele,
                                                            java.lang.String beanName,
                                                            BeanDefinition containingBean,
                                                            AbstractBeanDefinition bd)
Apply the attributes of the given bean element to the given bean * definition.

Parameters:
ele - bean declaration element
beanName - bean name
containingBean - containing bean definition
Returns:
a bean definition initialized according to the bean element attributes

createBeanDefinition

protected AbstractBeanDefinition createBeanDefinition(java.lang.String className,
                                                      java.lang.String parentName)
                                               throws java.lang.ClassNotFoundException
Create a bean definition for the given class name and parent name.

Parameters:
className - the name of the bean class
parentName - the name of the bean's parent bean
Returns:
the newly created bean definition
Throws:
java.lang.ClassNotFoundException - if bean class resolution was attempted but failed

parseMetaElements

public void parseMetaElements(org.w3c.dom.Element ele,
                              BeanMetadataAttributeAccessor attributeAccessor)

getAutowireMode

public int getAutowireMode(java.lang.String attValue)

getDependencyCheck

public int getDependencyCheck(java.lang.String attValue)

parseConstructorArgElements

public void parseConstructorArgElements(org.w3c.dom.Element beanEle,
                                        BeanDefinition bd)
Parse constructor-arg sub-elements of the given bean element.


parsePropertyElements

public void parsePropertyElements(org.w3c.dom.Element beanEle,
                                  BeanDefinition bd)
Parse property sub-elements of the given bean element.


parseQualifierElements

public void parseQualifierElements(org.w3c.dom.Element beanEle,
                                   AbstractBeanDefinition bd)
Parse qualifier sub-elements of the given bean element.


parseLookupOverrideSubElements

public void parseLookupOverrideSubElements(org.w3c.dom.Element beanEle,
                                           MethodOverrides overrides)
Parse lookup-override sub-elements of the given bean element.


parseReplacedMethodSubElements

public void parseReplacedMethodSubElements(org.w3c.dom.Element beanEle,
                                           MethodOverrides overrides)
Parse replaced-method sub-elements of the given bean element.


parseConstructorArgElement

public void parseConstructorArgElement(org.w3c.dom.Element ele,
                                       BeanDefinition bd)
Parse a constructor-arg element.


parsePropertyElement

public void parsePropertyElement(org.w3c.dom.Element ele,
                                 BeanDefinition bd)
Parse a property element.


parseQualifierElement

public void parseQualifierElement(org.w3c.dom.Element ele,
                                  AbstractBeanDefinition bd)
Parse a qualifier element.


parsePropertyValue

public java.lang.Object parsePropertyValue(org.w3c.dom.Element ele,
                                           BeanDefinition bd,
                                           java.lang.String propertyName)
Get the value of a property element. May be a list etc. Also used for constructor arguments, "propertyName" being null in this case.


parsePropertySubElement

public java.lang.Object parsePropertySubElement(org.w3c.dom.Element ele,
                                                BeanDefinition bd)

parsePropertySubElement

public java.lang.Object parsePropertySubElement(org.w3c.dom.Element ele,
                                                BeanDefinition bd,
                                                java.lang.String defaultValueType)
Parse a value, ref or collection sub-element of a property or constructor-arg element.

Parameters:
ele - subelement of property element; we don't know which yet
defaultValueType - the default type (class name) for any <value> tag that might be created

parseIdRefElement

public java.lang.Object parseIdRefElement(org.w3c.dom.Element ele)
Return a typed String value Object for the given 'idref' element.


parseValueElement

public java.lang.Object parseValueElement(org.w3c.dom.Element ele,
                                          java.lang.String defaultTypeName)
Return a typed String value Object for the given value element.


buildTypedStringValue

protected TypedStringValue buildTypedStringValue(java.lang.String value,
                                                 java.lang.String targetTypeName)
                                          throws java.lang.ClassNotFoundException
Build a typed String value Object for the given raw value.

Throws:
java.lang.ClassNotFoundException
See Also:
TypedStringValue

parseArrayElement

public java.lang.Object parseArrayElement(org.w3c.dom.Element arrayEle,
                                          BeanDefinition bd)
Parse an array element.


parseListElement

public java.util.List parseListElement(org.w3c.dom.Element collectionEle,
                                       BeanDefinition bd)
Parse a list element.


parseSetElement

public java.util.Set parseSetElement(org.w3c.dom.Element collectionEle,
                                     BeanDefinition bd)
Parse a set element.


parseCollectionElements

protected void parseCollectionElements(org.w3c.dom.NodeList elementNodes,
                                       java.util.Collection<java.lang.Object> target,
                                       BeanDefinition bd,
                                       java.lang.String defaultElementType)

parseMapElement

public java.util.Map parseMapElement(org.w3c.dom.Element mapEle,
                                     BeanDefinition bd)
Parse a map element.


buildTypedStringValueForMap

protected final java.lang.Object buildTypedStringValueForMap(java.lang.String value,
                                                             java.lang.String defaultTypeName,
                                                             org.w3c.dom.Element entryEle)
Build a typed String value Object for the given raw value.

See Also:
TypedStringValue

parseKeyElement

protected java.lang.Object parseKeyElement(org.w3c.dom.Element keyEle,
                                           BeanDefinition bd,
                                           java.lang.String defaultKeyTypeName)
Parse a key sub-element of a map element.


parsePropsElement

public java.util.Properties parsePropsElement(org.w3c.dom.Element propsEle)
Parse a props element.


parseMergeAttribute

public boolean parseMergeAttribute(org.w3c.dom.Element collectionElement)
Parse the merge attribute of a collection element, if any.


parseCustomElement

public BeanDefinition parseCustomElement(org.w3c.dom.Element ele)

parseCustomElement

public BeanDefinition parseCustomElement(org.w3c.dom.Element ele,
                                         BeanDefinition containingBd)

decorateBeanDefinitionIfRequired

public BeanDefinitionHolder decorateBeanDefinitionIfRequired(org.w3c.dom.Element ele,
                                                             BeanDefinitionHolder definitionHolder)

decorateBeanDefinitionIfRequired

public BeanDefinitionHolder decorateBeanDefinitionIfRequired(org.w3c.dom.Element ele,
                                                             BeanDefinitionHolder definitionHolder,
                                                             BeanDefinition containingBd)

decorateIfRequired

private BeanDefinitionHolder decorateIfRequired(org.w3c.dom.Node node,
                                                BeanDefinitionHolder originalDef,
                                                BeanDefinition containingBd)

parseNestedCustomElement

private BeanDefinitionHolder parseNestedCustomElement(org.w3c.dom.Element ele,
                                                      BeanDefinition containingBd)

getNamespaceURI

public java.lang.String getNamespaceURI(org.w3c.dom.Node node)
Get the namespace URI for the supplied node. The default implementation uses Node.getNamespaceURI(). Subclasses may override the default implementation to provide a different namespace identification mechanism.

Parameters:
node - the node

getLocalName

public java.lang.String getLocalName(org.w3c.dom.Node node)
Ges the local name for the supplied Node. The default implementation calls Node.getLocalName(). Subclasses may override the default implementation to provide a different mechanism for getting the local name.

Parameters:
node - the Node

nodeNameEquals

public boolean nodeNameEquals(org.w3c.dom.Node node,
                              java.lang.String desiredName)
Determine whether the name of the supplied node is equal to the supplied name.

The default implementation checks the supplied desired name against both Node.getNodeName() and Node.getLocalName().

Subclasses may override the default implementation to provide a different mechanism for comparing node names.

Parameters:
node - the node to compare
desiredName - the name to check for

isDefaultNamespace

public boolean isDefaultNamespace(java.lang.String namespaceUri)

isDefaultNamespace

public boolean isDefaultNamespace(org.w3c.dom.Node node)

isCandidateElement

private boolean isCandidateElement(org.w3c.dom.Node node)