org.springframework.beans.factory.xml
Class BeanDefinitionParserDelegate

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

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

BEAN_NAME_DELIMITERS

public static final String BEAN_NAME_DELIMITERS
See Also:
Constant Field Values

TRUE_VALUE

public static final 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 String DEFAULT_VALUE
See Also:
Constant Field Values

DESCRIPTION_ELEMENT

public static final String DESCRIPTION_ELEMENT
See Also:
Constant Field Values

AUTOWIRE_BY_NAME_VALUE

public static final String AUTOWIRE_BY_NAME_VALUE
See Also:
Constant Field Values

AUTOWIRE_BY_TYPE_VALUE

public static final String AUTOWIRE_BY_TYPE_VALUE
See Also:
Constant Field Values

AUTOWIRE_CONSTRUCTOR_VALUE

public static final String AUTOWIRE_CONSTRUCTOR_VALUE
See Also:
Constant Field Values

AUTOWIRE_AUTODETECT_VALUE

public static final String AUTOWIRE_AUTODETECT_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_ALL_ATTRIBUTE_VALUE

public static final String DEPENDENCY_CHECK_ALL_ATTRIBUTE_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_SIMPLE_ATTRIBUTE_VALUE

public static final String DEPENDENCY_CHECK_SIMPLE_ATTRIBUTE_VALUE
See Also:
Constant Field Values

DEPENDENCY_CHECK_OBJECTS_ATTRIBUTE_VALUE

public static final String DEPENDENCY_CHECK_OBJECTS_ATTRIBUTE_VALUE
See Also:
Constant Field Values

NAME_ATTRIBUTE

public static final String NAME_ATTRIBUTE
See Also:
Constant Field Values

BEAN_ELEMENT

public static final String BEAN_ELEMENT
See Also:
Constant Field Values

META_ELEMENT

public static final String META_ELEMENT
See Also:
Constant Field Values

ID_ATTRIBUTE

public static final String ID_ATTRIBUTE
See Also:
Constant Field Values

PARENT_ATTRIBUTE

public static final String PARENT_ATTRIBUTE
See Also:
Constant Field Values

CLASS_ATTRIBUTE

public static final String CLASS_ATTRIBUTE
See Also:
Constant Field Values

ABSTRACT_ATTRIBUTE

public static final String ABSTRACT_ATTRIBUTE
See Also:
Constant Field Values

SCOPE_ATTRIBUTE

public static final String SCOPE_ATTRIBUTE
See Also:
Constant Field Values

SINGLETON_ATTRIBUTE

public static final String SINGLETON_ATTRIBUTE
See Also:
Constant Field Values

LAZY_INIT_ATTRIBUTE

public static final String LAZY_INIT_ATTRIBUTE
See Also:
Constant Field Values

AUTOWIRE_ATTRIBUTE

public static final String AUTOWIRE_ATTRIBUTE
See Also:
Constant Field Values

AUTOWIRE_CANDIDATE_ATTRIBUTE

public static final String AUTOWIRE_CANDIDATE_ATTRIBUTE
See Also:
Constant Field Values

PRIMARY_ATTRIBUTE

public static final String PRIMARY_ATTRIBUTE
See Also:
Constant Field Values

DEPENDENCY_CHECK_ATTRIBUTE

public static final String DEPENDENCY_CHECK_ATTRIBUTE
See Also:
Constant Field Values

DEPENDS_ON_ATTRIBUTE

public static final String DEPENDS_ON_ATTRIBUTE
See Also:
Constant Field Values

INIT_METHOD_ATTRIBUTE

public static final String INIT_METHOD_ATTRIBUTE
See Also:
Constant Field Values

DESTROY_METHOD_ATTRIBUTE

public static final String DESTROY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

FACTORY_METHOD_ATTRIBUTE

public static final String FACTORY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

FACTORY_BEAN_ATTRIBUTE

public static final String FACTORY_BEAN_ATTRIBUTE
See Also:
Constant Field Values

CONSTRUCTOR_ARG_ELEMENT

public static final String CONSTRUCTOR_ARG_ELEMENT
See Also:
Constant Field Values

INDEX_ATTRIBUTE

public static final String INDEX_ATTRIBUTE
See Also:
Constant Field Values

TYPE_ATTRIBUTE

public static final String TYPE_ATTRIBUTE
See Also:
Constant Field Values

VALUE_TYPE_ATTRIBUTE

public static final String VALUE_TYPE_ATTRIBUTE
See Also:
Constant Field Values

KEY_TYPE_ATTRIBUTE

public static final String KEY_TYPE_ATTRIBUTE
See Also:
Constant Field Values

PROPERTY_ELEMENT

public static final String PROPERTY_ELEMENT
See Also:
Constant Field Values

REF_ATTRIBUTE

public static final String REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_ATTRIBUTE

public static final String VALUE_ATTRIBUTE
See Also:
Constant Field Values

LOOKUP_METHOD_ELEMENT

public static final String LOOKUP_METHOD_ELEMENT
See Also:
Constant Field Values

REPLACED_METHOD_ELEMENT

public static final String REPLACED_METHOD_ELEMENT
See Also:
Constant Field Values

REPLACER_ATTRIBUTE

public static final String REPLACER_ATTRIBUTE
See Also:
Constant Field Values

ARG_TYPE_ELEMENT

public static final String ARG_TYPE_ELEMENT
See Also:
Constant Field Values

ARG_TYPE_MATCH_ATTRIBUTE

public static final String ARG_TYPE_MATCH_ATTRIBUTE
See Also:
Constant Field Values

REF_ELEMENT

public static final String REF_ELEMENT
See Also:
Constant Field Values

IDREF_ELEMENT

public static final String IDREF_ELEMENT
See Also:
Constant Field Values

BEAN_REF_ATTRIBUTE

public static final String BEAN_REF_ATTRIBUTE
See Also:
Constant Field Values

LOCAL_REF_ATTRIBUTE

public static final String LOCAL_REF_ATTRIBUTE
See Also:
Constant Field Values

PARENT_REF_ATTRIBUTE

public static final String PARENT_REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_ELEMENT

public static final String VALUE_ELEMENT
See Also:
Constant Field Values

NULL_ELEMENT

public static final String NULL_ELEMENT
See Also:
Constant Field Values

ARRAY_ELEMENT

public static final String ARRAY_ELEMENT
See Also:
Constant Field Values

LIST_ELEMENT

public static final String LIST_ELEMENT
See Also:
Constant Field Values

SET_ELEMENT

public static final String SET_ELEMENT
See Also:
Constant Field Values

MAP_ELEMENT

public static final String MAP_ELEMENT
See Also:
Constant Field Values

ENTRY_ELEMENT

public static final String ENTRY_ELEMENT
See Also:
Constant Field Values

KEY_ELEMENT

public static final String KEY_ELEMENT
See Also:
Constant Field Values

KEY_ATTRIBUTE

public static final String KEY_ATTRIBUTE
See Also:
Constant Field Values

KEY_REF_ATTRIBUTE

public static final String KEY_REF_ATTRIBUTE
See Also:
Constant Field Values

VALUE_REF_ATTRIBUTE

public static final String VALUE_REF_ATTRIBUTE
See Also:
Constant Field Values

PROPS_ELEMENT

public static final String PROPS_ELEMENT
See Also:
Constant Field Values

PROP_ELEMENT

public static final String PROP_ELEMENT
See Also:
Constant Field Values

MERGE_ATTRIBUTE

public static final String MERGE_ATTRIBUTE
See Also:
Constant Field Values

QUALIFIER_ELEMENT

public static final String QUALIFIER_ELEMENT
See Also:
Constant Field Values

QUALIFIER_ATTRIBUTE_ELEMENT

public static final String QUALIFIER_ATTRIBUTE_ELEMENT
See Also:
Constant Field Values

DEFAULT_LAZY_INIT_ATTRIBUTE

public static final String DEFAULT_LAZY_INIT_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_MERGE_ATTRIBUTE

public static final String DEFAULT_MERGE_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_AUTOWIRE_ATTRIBUTE

public static final String DEFAULT_AUTOWIRE_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_DEPENDENCY_CHECK_ATTRIBUTE

public static final String DEFAULT_DEPENDENCY_CHECK_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE

public static final String DEFAULT_AUTOWIRE_CANDIDATES_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_INIT_METHOD_ATTRIBUTE

public static final String DEFAULT_INIT_METHOD_ATTRIBUTE
See Also:
Constant Field Values

DEFAULT_DESTROY_METHOD_ATTRIBUTE

public static final String DEFAULT_DESTROY_METHOD_ATTRIBUTE
See Also:
Constant Field Values

logger

protected final Log logger
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 Object extractSource(Element ele)
Invoke the SourceExtractor to pull the source metadata from the supplied Element.


error

protected void error(String message,
                     Node source)
Report an error with the given message for the given source element.


error

protected void error(String message,
                     Element source)
Report an error with the given message for the given source element.


error

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


initDefaults

public void initDefaults(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,
                                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 String[] getAutowireCandidatePatterns()
Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level <beans/> element.


parseBeanDefinitionElement

public BeanDefinitionHolder parseBeanDefinitionElement(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(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(String beanName,
                                   List<String> aliases,
                                   Element beanElement)
Validate that the specified bean name and aliases have not been used already.


parseBeanDefinitionElement

public AbstractBeanDefinition parseBeanDefinitionElement(Element ele,
                                                         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(Element ele,
                                                            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(String className,
                                                      String parentName)
                                               throws 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:
ClassNotFoundException - if bean class resolution was attempted but failed

parseMetaElements

public void parseMetaElements(Element ele,
                              BeanMetadataAttributeAccessor attributeAccessor)

getAutowireMode

public int getAutowireMode(String attValue)

getDependencyCheck

public int getDependencyCheck(String attValue)

parseConstructorArgElements

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


parsePropertyElements

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


parseQualifierElements

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


parseLookupOverrideSubElements

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


parseReplacedMethodSubElements

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


parseConstructorArgElement

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


parsePropertyElement

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


parseQualifierElement

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


parsePropertyValue

public Object parsePropertyValue(Element ele,
                                 BeanDefinition bd,
                                 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 Object parsePropertySubElement(Element ele,
                                      BeanDefinition bd)

parsePropertySubElement

public Object parsePropertySubElement(Element ele,
                                      BeanDefinition bd,
                                      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 Object parseIdRefElement(Element ele)
Return a typed String value Object for the given 'idref' element.


parseValueElement

public Object parseValueElement(Element ele,
                                String defaultTypeName)
Return a typed String value Object for the given value element.


buildTypedStringValue

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

Throws:
ClassNotFoundException
See Also:
TypedStringValue

parseArrayElement

public Object parseArrayElement(Element arrayEle,
                                BeanDefinition bd)
Parse an array element.


parseListElement

public List parseListElement(Element collectionEle,
                             BeanDefinition bd)
Parse a list element.


parseSetElement

public Set parseSetElement(Element collectionEle,
                           BeanDefinition bd)
Parse a set element.


parseCollectionElements

protected void parseCollectionElements(NodeList elementNodes,
                                       Collection<Object> target,
                                       BeanDefinition bd,
                                       String defaultElementType)

parseMapElement

public Map parseMapElement(Element mapEle,
                           BeanDefinition bd)
Parse a map element.


buildTypedStringValueForMap

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

See Also:
TypedStringValue

parseKeyElement

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


parsePropsElement

public Properties parsePropsElement(Element propsEle)
Parse a props element.


parseMergeAttribute

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


parseCustomElement

public BeanDefinition parseCustomElement(Element ele)

parseCustomElement

public BeanDefinition parseCustomElement(Element ele,
                                         BeanDefinition containingBd)

decorateBeanDefinitionIfRequired

public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele,
                                                             BeanDefinitionHolder definitionHolder)

decorateBeanDefinitionIfRequired

public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele,
                                                             BeanDefinitionHolder definitionHolder,
                                                             BeanDefinition containingBd)

getNamespaceURI

public String getNamespaceURI(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 String getLocalName(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(Node node,
                              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 {@link 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(String namespaceUri)

isDefaultNamespace

public boolean isDefaultNamespace(Node node)