Example usage for org.springframework.beans.factory.support ReplaceOverride ReplaceOverride

List of usage examples for org.springframework.beans.factory.support ReplaceOverride ReplaceOverride

Introduction

In this page you can find the example usage for org.springframework.beans.factory.support ReplaceOverride ReplaceOverride.

Prototype

public ReplaceOverride(String methodName, String methodReplacerBeanName) 

Source Link

Document

Construct a new ReplaceOverride.

Usage

From source file:org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.java

/**
 * Parse replaced-method sub-elements of the given bean element.
 *//*from   w  w w  .  ja  v a  2  s.com*/
public void parseReplacedMethodSubElements(Element beanEle, MethodOverrides overrides) {
    NodeList nl = beanEle.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (isCandidateElement(node) && nodeNameEquals(node, REPLACED_METHOD_ELEMENT)) {
            Element replacedMethodEle = (Element) node;
            String name = replacedMethodEle.getAttribute(NAME_ATTRIBUTE);
            String callback = replacedMethodEle.getAttribute(REPLACER_ATTRIBUTE);
            ReplaceOverride replaceOverride = new ReplaceOverride(name, callback);
            // Look for arg-type match elements.
            List<Element> argTypeEles = DomUtils.getChildElementsByTagName(replacedMethodEle, ARG_TYPE_ELEMENT);
            for (Element argTypeEle : argTypeEles) {
                String match = argTypeEle.getAttribute(ARG_TYPE_MATCH_ATTRIBUTE);
                match = (StringUtils.hasText(match) ? match : DomUtils.getTextValue(argTypeEle));
                if (StringUtils.hasText(match)) {
                    replaceOverride.addTypeIdentifier(match);
                }
            }
            replaceOverride.setSource(extractSource(replacedMethodEle));
            overrides.addOverride(replaceOverride);
        }
    }
}

From source file:org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.java

/**
 * Parse replaced-method sub-elements of the given bean element.
 *//*from ww w  .ja  v  a 2  s . c  o m*/
protected void parseReplacedMethodSubElements(Element beanEle, String beanName, MethodOverrides overrides)
        throws BeanDefinitionStoreException {

    NodeList nl = beanEle.getChildNodes();
    for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        if (node instanceof Element && REPLACED_METHOD_ELEMENT.equals(node.getNodeName())) {
            Element replacedMethodEle = (Element) node;
            String name = replacedMethodEle.getAttribute(NAME_ATTRIBUTE);
            String callback = replacedMethodEle.getAttribute(REPLACER_ATTRIBUTE);
            ReplaceOverride replaceOverride = new ReplaceOverride(name, callback);
            // Look for arg-type match elements.
            List argTypeEles = DomUtils.getChildElementsByTagName(replacedMethodEle, ARG_TYPE_ELEMENT);
            for (Iterator it = argTypeEles.iterator(); it.hasNext();) {
                Element argTypeEle = (Element) it.next();
                replaceOverride.addTypeIdentifier(argTypeEle.getAttribute(ARG_TYPE_MATCH_ATTRIBUTE));
            }
            overrides.addOverride(replaceOverride);
        }
    }
}