1
2
3
4
5
6
7
8
9
10
11 package org.mule.config.spring.parsers.specific;
12
13 import org.mule.config.spring.parsers.AbstractMuleBeanDefinitionParser;
14 import org.mule.config.spring.parsers.generic.ChildDefinitionParser;
15
16 import org.springframework.beans.factory.support.BeanDefinitionBuilder;
17 import org.springframework.beans.factory.xml.ParserContext;
18 import org.w3c.dom.Element;
19
20 public class ComponentDefinitionParser extends ChildDefinitionParser
21 {
22
23 public ComponentDefinitionParser(Class clazz)
24 {
25 super("component", clazz);
26 this.singleton = true;
27 addIgnored(AbstractMuleBeanDefinitionParser.ATTRIBUTE_CLASS);
28 }
29
30
31 protected void parseChild(Element element, ParserContext parserContext, BeanDefinitionBuilder builder)
32 {
33 Element parent = (Element) element.getParentNode();
34 String serviceName = parent.getAttribute(ATTRIBUTE_NAME);
35 builder.addPropertyReference("service", serviceName);
36 super.parseChild(element, parserContext, builder);
37 }
38 }