Class BeanDefinitionParserDelegate
- java.lang.Object
- 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 extensionBeanDefinitionParsers
orBeanDefinitionDecorators
.- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Rod Johnson, Mark Fisher, Gary Russell
- See Also:
ParserContext
,DefaultBeanDefinitionDocumentReader
Field Summary
Constructor Summary
Constructors Constructor Description BeanDefinitionParserDelegate(XmlReaderContext readerContext)
Create a new BeanDefinitionParserDelegate associated with the suppliedXmlReaderContext
.
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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 within the current level of beans element nesting.protected AbstractBeanDefinition
createBeanDefinition(String className, String parentName)
Create a bean definition for the given class name and parent name.BeanDefinitionHolder
decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder originalDef)
Decorate the given bean definition through a namespace handler, if applicable.BeanDefinitionHolder
decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder originalDef, BeanDefinition containingBd)
Decorate the given bean definition through a namespace handler, if applicable.BeanDefinitionHolder
decorateIfRequired(Node node, BeanDefinitionHolder originalDef, BeanDefinition containingBd)
Decorate the given bean definition through a namespace handler, if applicable.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 theSourceExtractor
to pull the source metadata from the suppliedElement
.String[]
getAutowireCandidatePatterns()
Return any patterns provided in the 'default-autowire-candidates' attribute of the top-level<beans/>
element.int
getAutowireMode(String attrValue)
Parse the given autowire attribute value intoAbstractBeanDefinition
autowire constants.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.int
getDependencyCheck(String attValue)
Environment
getEnvironment()
Deprecated.in favor ofXmlReaderContext.getEnvironment()
String
getLocalName(Node node)
Get the local name for the suppliedNode
.String
getNamespaceURI(Node node)
Get the namespace URI for the supplied node.XmlReaderContext
getReaderContext()
Get theXmlReaderContext
associated with this helper instance.void
initDefaults(Element root)
Initialize the default settings assuming anull
parent delegate.void
initDefaults(Element root, BeanDefinitionParserDelegate parent)
Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.boolean
isDefaultNamespace(String namespaceUri)
Determine whether the given URI indicates the default namespace.boolean
isDefaultNamespace(Node node)
Determine whether the given node indicates the default namespace.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.AbstractBeanDefinition
parseBeanDefinitionElement(Element ele, String beanName, BeanDefinition containingBean)
Parse the bean definition itself, without regard to name or aliases.BeanDefinitionHolder
parseBeanDefinitionElement(Element ele, BeanDefinition containingBean)
Parses the supplied<bean>
element.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)
Parse a custom element (outside of the default namespace).BeanDefinition
parseCustomElement(Element ele, BeanDefinition containingBd)
Parse a custom element (outside of the default namespace).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<Object>
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<Object,Object>
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)
Parse the meta elements underneath the given element, if any.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)
Parse a value, ref or collection sub-element of a property or constructor-arg element.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<Object>
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, DocumentDefaultsDefinition parentDefaults, Element root)
Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings.
Field Detail
BEANS_NAMESPACE_URI
public static final String BEANS_NAMESPACE_URI
- See Also:
- Constant Field Values
MULTI_VALUE_ATTRIBUTE_DELIMITERS
public static final String MULTI_VALUE_ATTRIBUTE_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
FALSE_VALUE
public static final String FALSE_VALUE
- 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_NO_VALUE
public static final String AUTOWIRE_NO_VALUE
- 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
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
Constructor Detail
BeanDefinitionParserDelegate
public BeanDefinitionParserDelegate(XmlReaderContext readerContext)
Create a new BeanDefinitionParserDelegate associated with the suppliedXmlReaderContext
.
Method Detail
getReaderContext
public final XmlReaderContext getReaderContext()
Get theXmlReaderContext
associated with this helper instance.
getEnvironment
@Deprecated public final Environment getEnvironment()
Deprecated.in favor ofXmlReaderContext.getEnvironment()
Get theEnvironment
associated with this helper instance.
extractSource
protected Object extractSource(Element ele)
Invoke theSourceExtractor
to pull the source metadata from the suppliedElement
.
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 settings assuming anull
parent delegate.
initDefaults
public void initDefaults(Element root, BeanDefinitionParserDelegate parent)
Initialize the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings. Support nested 'beans' element use cases by falling back to the given parent in case the defaults are not explicitly set locally.
populateDefaults
protected void populateDefaults(DocumentDefaultsDefinition defaults, DocumentDefaultsDefinition parentDefaults, Element root)
Populate the given DocumentDefaultsDefinition instance with the default lazy-init, autowire, dependency check settings, init-method, destroy-method and merge settings. Support nested 'beans' element use cases by falling back toparentDefaults
in case the defaults are not explicitly set locally.- Parameters:
defaults
- the defaults to populateparentDefaults
- the parent BeanDefinitionParserDelegate (if any) defaults to fall back toroot
- the root element of the current bean definition document (or nested beans element)
getDefaults
public DocumentDefaultsDefinition getDefaults()
Return the defaults definition object.
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 returnnull
if there were errors during parse. Errors are reported to theProblemReporter
.
parseBeanDefinitionElement
public BeanDefinitionHolder parseBeanDefinitionElement(Element ele, BeanDefinition containingBean)
Parses the supplied<bean>
element. May returnnull
if there were errors during parse. Errors are reported to theProblemReporter
.
checkNameUniqueness
protected void checkNameUniqueness(String beanName, List<String> aliases, Element beanElement)
Validate that the specified bean name and aliases have not been used already within the current level of beans element nesting.
parseBeanDefinitionElement
public AbstractBeanDefinition parseBeanDefinitionElement(Element ele, String beanName, BeanDefinition containingBean)
Parse the bean definition itself, without regard to name or aliases. May returnnull
if problems occurred during the parsing 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 elementbeanName
- bean namecontainingBean
- 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 classparentName
- 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)
Parse the meta elements underneath the given element, if any.
getAutowireMode
public int getAutowireMode(String attrValue)
Parse the given autowire attribute value intoAbstractBeanDefinition
autowire constants.
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)
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 yetbd
- the current bean definition (if any)
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 yetbd
- the current bean definition (if any)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<Object> parseListElement(Element collectionEle, BeanDefinition bd)
Parse a list element.
parseSetElement
public Set<Object> 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<Object,Object> 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)
Parse a custom element (outside of the default namespace).- Parameters:
ele
- the element to parse- Returns:
- the resulting bean definition
parseCustomElement
public BeanDefinition parseCustomElement(Element ele, BeanDefinition containingBd)
Parse a custom element (outside of the default namespace).- Parameters:
ele
- the element to parsecontainingBd
- the containing bean definition (if any)- Returns:
- the resulting bean definition
decorateBeanDefinitionIfRequired
public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder originalDef)
Decorate the given bean definition through a namespace handler, if applicable.- Parameters:
ele
- the current elementoriginalDef
- the current bean definition- Returns:
- the decorated bean definition
decorateBeanDefinitionIfRequired
public BeanDefinitionHolder decorateBeanDefinitionIfRequired(Element ele, BeanDefinitionHolder originalDef, BeanDefinition containingBd)
Decorate the given bean definition through a namespace handler, if applicable.- Parameters:
ele
- the current elementoriginalDef
- the current bean definitioncontainingBd
- the containing bean definition (if any)- Returns:
- the decorated bean definition
decorateIfRequired
public BeanDefinitionHolder decorateIfRequired(Node node, BeanDefinitionHolder originalDef, BeanDefinition containingBd)
Decorate the given bean definition through a namespace handler, if applicable.- Parameters:
node
- the current child nodeoriginalDef
- the current bean definitioncontainingBd
- the containing bean definition (if any)- Returns:
- the decorated bean definition
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)
Get the local name for the suppliedNode
.The default implementation calls
Node.getLocalName()
. Subclasses may override the default implementation to provide a different mechanism for getting the local name.- Parameters:
node
- theNode
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()
andNode.getLocalName()
.Subclasses may override the default implementation to provide a different mechanism for comparing node names.
- Parameters:
node
- the node to comparedesiredName
- the name to check for
isDefaultNamespace
public boolean isDefaultNamespace(String namespaceUri)
Determine whether the given URI indicates the default namespace.
isDefaultNamespace
public boolean isDefaultNamespace(Node node)
Determine whether the given node indicates the default namespace.