package com.firefly.core.support.xml.parse; import org.w3c.dom.Element; import static com.firefly.core.support.xml.parse.XmlNodeConstants.*; import com.firefly.core.support.xml.ManagedRef; import com.firefly.utils.StringUtils; import com.firefly.utils.dom.Dom; public class RefNodeParser extends AbstractXmlNodeParser implements XmlNodeParser { @Override public Object parse(Element ele, Dom dom) { if (ele.hasAttribute(BEAN_REF_ATTRIBUTE)) { String refText = ele.getAttribute(BEAN_REF_ATTRIBUTE); if (StringUtils.hasText(refText)) { ManagedRef ref = new ManagedRef(); ref.setBeanName(refText); return ref; } else { error("<ref> element contains empty target attribute"); return null; } } else { error("'bean' is required for <ref> element"); return null; } } }