package org.springframework.beans.factory.support; import java.lang.reflect.Method; /** * Created by IntelliJ IDEA. * User: stevend * Date: 23-feb-2006 * Time: 18:04:04 * To change this template use File | Settings | File Templates. */ public class FactoryMethodReplacer implements MethodReplacer { public Object reimplement(Object obj, Method method, Object[] args) throws Throwable { FactoryMethodArguments.cleanUp(); FactoryMethodArguments.setMethodThatsBeenInvoked(method); for (int i = 0; i < args.length; i++) { FactoryMethodArguments.addArgument(args[i]); } try { return getBean(); } finally { FactoryMethodArguments.cleanUp(); } } public Object getBean() { throw new UnsupportedOperationException("The getBean() method on " + getClass().getName() + " is a lookup method. Please configure the <lookup-method/> XML element for this bean definition!"); } }