public static BeanMetadataElement parseListenerElement(Element element, ParserContext parserContext, BeanDefinition enclosing) { String listenerRef = element.getAttribute(REF_ATTR); List<Element> beanElements = DomUtils.getChildElementsByTagName(element, BEAN_ELE); List<Element> refElements = DomUtils.getChildElementsByTagName(element, REF_ELE); verifyListenerAttributesAndSubelements(listenerRef, beanElements, refElements, element, parserContext); if (StringUtils.hasText(listenerRef)) { return new RuntimeBeanReference(listenerRef); } else if (beanElements.size() == 1) { Element beanElement = beanElements.get(0); BeanDefinitionHolder beanDefinitionHolder = parserContext.getDelegate().parseBeanDefinitionElement( beanElement, enclosing); parserContext.getDelegate().decorateBeanDefinitionIfRequired(beanElement, beanDefinitionHolder); return beanDefinitionHolder; } else { return (BeanMetadataElement) parserContext.getDelegate().parsePropertySubElement(refElements.get(0), null); } }
public static BeanMetadataElement parseListenerElement(Element element, ParserContext parserContext, BeanDefinition enclosing) { String listenerRef = element.getAttribute(REF_ATTR); List<Element> beanElements = DomUtils.getChildElementsByTagName(element, BEAN_ELE); List<Element> refElements = DomUtils.getChildElementsByTagName(element, REF_ELE); verifyListenerAttributesAndSubelements(listenerRef, beanElements, refElements, element, parserContext); if (StringUtils.hasText(listenerRef)) { return new RuntimeBeanReference(listenerRef); } else if (beanElements.size() == 1) { Element beanElement = beanElements.get(0); BeanDefinitionHolder beanDefinitionHolder = parserContext.getDelegate().parseBeanDefinitionElement( beanElement, enclosing); parserContext.getDelegate().decorateBeanDefinitionIfRequired(beanElement, beanDefinitionHolder); return beanDefinitionHolder; } else { return (BeanMetadataElement) parserContext.getDelegate().parsePropertySubElement(refElements.get(0), null); } }
public static BeanMetadataElement parseListenerElement(Element element, ParserContext parserContext, BeanDefinition enclosing) { String listenerRef = element.getAttribute(REF_ATTR); List<Element> beanElements = DomUtils.getChildElementsByTagName(element, BEAN_ELE); List<Element> refElements = DomUtils.getChildElementsByTagName(element, REF_ELE); verifyListenerAttributesAndSubelements(listenerRef, beanElements, refElements, element, parserContext); if (StringUtils.hasText(listenerRef)) { return new RuntimeBeanReference(listenerRef); } else if (beanElements.size() == 1) { Element beanElement = beanElements.get(0); BeanDefinitionHolder beanDefinitionHolder = parserContext.getDelegate().parseBeanDefinitionElement( beanElement, enclosing); parserContext.getDelegate().decorateBeanDefinitionIfRequired(beanElement, beanDefinitionHolder); return beanDefinitionHolder; } else { return (BeanMetadataElement) parserContext.getDelegate().parsePropertySubElement(refElements.get(0), null); } }
public static BeanMetadataElement parseListenerElement(Element element, ParserContext parserContext, BeanDefinition enclosing) { String listenerRef = element.getAttribute(REF_ATTR); List<Element> beanElements = DomUtils.getChildElementsByTagName(element, BEAN_ELE); List<Element> refElements = DomUtils.getChildElementsByTagName(element, REF_ELE); verifyListenerAttributesAndSubelements(listenerRef, beanElements, refElements, element, parserContext); if (StringUtils.hasText(listenerRef)) { return new RuntimeBeanReference(listenerRef); } else if (beanElements.size() == 1) { Element beanElement = beanElements.get(0); BeanDefinitionHolder beanDefinitionHolder = parserContext.getDelegate().parseBeanDefinitionElement( beanElement, enclosing); parserContext.getDelegate().decorateBeanDefinitionIfRequired(beanElement, beanDefinitionHolder); return beanDefinitionHolder; } else { return (BeanMetadataElement) parserContext.getDelegate().parsePropertySubElement(refElements.get(0), null); } }
@SuppressWarnings("unchecked") public static BeanMetadataElement parseListenerElement(Element element, ParserContext parserContext) { String listenerRef = element.getAttribute(REF_ATTR); List<Element> beanElements = DomUtils.getChildElementsByTagName(element, BEAN_ELE); List<Element> refElements = DomUtils.getChildElementsByTagName(element, REF_ELE); verifyListenerAttributesAndSubelements(listenerRef, beanElements, refElements, element, parserContext); if (StringUtils.hasText(listenerRef)) { return new RuntimeBeanReference(listenerRef); } else if (beanElements.size() == 1) { Element beanElement = beanElements.get(0); BeanDefinitionHolder beanDefinitionHolder = parserContext.getDelegate().parseBeanDefinitionElement( beanElement); parserContext.getDelegate().decorateBeanDefinitionIfRequired(beanElement, beanDefinitionHolder); return beanDefinitionHolder; } else { return (BeanMetadataElement) parserContext.getDelegate().parsePropertySubElement(refElements.get(0), null); } }