@Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy mp) throws Throwable { ReplaceOverride ro = (ReplaceOverride) getBeanDefinition().getMethodOverrides().getOverride(method); Assert.state(ro != null, "ReplaceOverride not found"); // TODO could cache if a singleton for minor performance optimization MethodReplacer mr = this.owner.getBean(ro.getMethodReplacerBeanName(), MethodReplacer.class); return mr.reimplement(obj, method, args); } }
@Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy mp) throws Throwable { ReplaceOverride ro = (ReplaceOverride) getBeanDefinition().getMethodOverrides().getOverride(method); Assert.state(ro != null, "ReplaceOverride not found"); // TODO could cache if a singleton for minor performance optimization MethodReplacer mr = this.owner.getBean(ro.getMethodReplacerBeanName(), MethodReplacer.class); return mr.reimplement(obj, method, args); } }
public Object intercept(Object obj, Method method, Object[] args, MethodProxy mp) throws Throwable { ReplaceOverride ro = (ReplaceOverride) beanDefinition.getMethodOverrides().getOverride(method); // TODO could cache if a singleton for minor performance optimization MethodReplacer mr = (MethodReplacer) owner.getBean(ro.getMethodReplacerBeanName()); return mr.reimplement(obj, method, args); } }
private void methodOverrides() { @SuppressWarnings("unchecked") Set<MethodOverride> overrides = bd.getMethodOverrides().getOverrides(); for (MethodOverride override : overrides) { if (override instanceof LookupOverride) { Element lookupMethodElement = beanElement.newSubElement("lookup-method"); String bean = ((LookupOverride) override).getBeanName(); String name = override.getMethodName(); if (bean != null) { lookupMethodElement.addAttribute("bean", new RefValue(bean)); } if (name != null) { lookupMethodElement.addAttribute("name", name); } continue; } if (override instanceof ReplaceOverride) { Element replacedMethodElement = beanElement.newSubElement("replaced-method"); String bean = ((ReplaceOverride) override).getMethodReplacerBeanName(); String name = override.getMethodName(); if (bean != null) { replacedMethodElement.addAttribute("replacer", new RefValue(bean)); } if (name != null) { replacedMethodElement.addAttribute("name", name); } continue; } } }
private void methodOverrides() { @SuppressWarnings("unchecked") Set<MethodOverride> overrides = bd.getMethodOverrides().getOverrides(); for (MethodOverride override : overrides) { if (override instanceof LookupOverride) { Element lookupMethodElement = beanElement.newSubElement("lookup-method"); String bean = ((LookupOverride) override).getBeanName(); String name = override.getMethodName(); if (bean != null) { lookupMethodElement.addAttribute("bean", new RefValue(bean)); } if (name != null) { lookupMethodElement.addAttribute("name", name); } continue; } if (override instanceof ReplaceOverride) { Element replacedMethodElement = beanElement.newSubElement("replaced-method"); String bean = ((ReplaceOverride) override).getMethodReplacerBeanName(); String name = override.getMethodName(); if (bean != null) { replacedMethodElement.addAttribute("replacer", new RefValue(bean)); } if (name != null) { replacedMethodElement.addAttribute("name", name); } continue; } } }
public Object intercept(Object obj, Method method, Object[] args, MethodProxy mp) throws Throwable { ReplaceOverride ro = (ReplaceOverride) beanDefinition.getMethodOverrides().getOverride(method); // TODO could cache if a singleton for minor performance optimization MethodReplacer mr = (MethodReplacer) owner.getBean(ro.getMethodReplacerBeanName()); return mr.reimplement(obj, method, args); } }
@Override public Object intercept(Object obj, Method method, Object[] args, MethodProxy mp) throws Throwable { ReplaceOverride ro = (ReplaceOverride) getBeanDefinition().getMethodOverrides().getOverride(method); // TODO could cache if a singleton for minor performance optimization MethodReplacer mr = this.owner.getBean(ro.getMethodReplacerBeanName(), MethodReplacer.class); return mr.reimplement(obj, method, args); } }
/** * Generates methods overrides (lookup or replace). */ private void generateMethodOverride(final MethodOverride override, final ElementBuilder builder) { if (override instanceof LookupOverride) { LookupOverride lookupOverride = (LookupOverride) override; builder.addChild(LOOKUP_METHOD_ELEMENT); String methodName = lookupOverride.getMethodName(); builder.addAttribute(NAME_ATTRIBUTE, methodName); String targetBeanName = lookupOverride.getBeanName(); builder.addAttribute(BEAN_REF_ATTRIBUTE, targetBeanName); builder.up(); } else if (override instanceof ReplaceOverride) { ReplaceOverride replaceOverride = (ReplaceOverride) override; builder.addChild(REPLACED_METHOD_ELEMENT); String methodName = replaceOverride.getMethodName(); String beanName = replaceOverride.getMethodReplacerBeanName(); builder.addAttribute(NAME_ATTRIBUTE, methodName); builder.addAttribute(REPLACER_ATTRIBUTE, beanName); builder.up(); } }
/** * Generates methods overrides (lookup or replace). */ private void generateMethodOverride(final MethodOverride override, final ElementBuilder builder) { if (override instanceof LookupOverride) { LookupOverride lookupOverride = (LookupOverride) override; builder.addChild(LOOKUP_METHOD_ELEMENT); String methodName = lookupOverride.getMethodName(); builder.addAttribute(NAME_ATTRIBUTE, methodName); String targetBeanName = lookupOverride.getBeanName(); builder.addAttribute(BEAN_REF_ATTRIBUTE, targetBeanName); builder.up(); } else if (override instanceof ReplaceOverride) { ReplaceOverride replaceOverride = (ReplaceOverride) override; builder.addChild(REPLACED_METHOD_ELEMENT); String methodName = replaceOverride.getMethodName(); String beanName = replaceOverride.getMethodReplacerBeanName(); builder.addAttribute(NAME_ATTRIBUTE, methodName); builder.addAttribute(REPLACER_ATTRIBUTE, beanName); builder.up(); } }
private void methodOverrides() { @SuppressWarnings("unchecked") Set<MethodOverride> overrides = bd.getMethodOverrides().getOverrides(); for (MethodOverride override : overrides) { if (override instanceof LookupOverride) { Element lookupMethodElement = beanElement.newSubElement("lookup-method"); String bean = ((LookupOverride) override).getBeanName(); String name = override.getMethodName(); if (bean != null) { lookupMethodElement.addAttribute("bean", new RefValue(bean)); } if (name != null) { lookupMethodElement.addAttribute("name", name); } continue; } if (override instanceof ReplaceOverride) { Element replacedMethodElement = beanElement.newSubElement("replaced-method"); String bean = ((ReplaceOverride) override).getMethodReplacerBeanName(); String name = override.getMethodName(); if (bean != null) { replacedMethodElement.addAttribute("replacer", new RefValue(bean)); } if (name != null) { replacedMethodElement.addAttribute("name", name); } continue; } } }