@Override public String toString() { return "Replace override for method '" + getMethodName() + "'"; }
@Override public String toString() { return "Replace override for method '" + getMethodName() + "'"; }
@Override public boolean matches(Method method) { if (!method.getName().equals(getMethodName())) { return false; } if (!isOverloaded()) { // Not overloaded: don't worry about arg type matching... return true; } // If we get here, we need to insist on precise argument matching... if (this.typeIdentifiers.size() != method.getParameterCount()) { return false; } Class<?>[] parameterTypes = method.getParameterTypes(); for (int i = 0; i < this.typeIdentifiers.size(); i++) { String identifier = this.typeIdentifiers.get(i); if (!parameterTypes[i].getName().contains(identifier)) { return false; } } return true; }
@Override public boolean matches(Method method) { if (!method.getName().equals(getMethodName())) { return false; } if (!isOverloaded()) { // Not overloaded: don't worry about arg type matching... return true; } // If we get here, we need to insist on precise argument matching... if (this.typeIdentifiers.size() != method.getParameterCount()) { return false; } Class<?>[] parameterTypes = method.getParameterTypes(); for (int i = 0; i < this.typeIdentifiers.size(); i++) { String identifier = this.typeIdentifiers.get(i); if (!parameterTypes[i].getName().contains(identifier)) { return false; } } return true; }
@Override public String toString() { return "Replace override for method '" + getMethodName() + "; will call bean '" + this.methodReplacerBeanName + "'"; }
@Override public boolean matches(Method method) { // TODO could cache result for efficiency if (!method.getName().equals(getMethodName())) { // It can't match. return false; } if (!isOverloaded()) { // No overloaded: don't worry about arg type matching. return true; } // If we get to here, we need to insist on precise argument matching. if (this.typeIdentifiers.size() != method.getParameterTypes().length) { return false; } for (int i = 0; i < this.typeIdentifiers.size(); i++) { String identifier = this.typeIdentifiers.get(i); if (!method.getParameterTypes()[i].getName().contains(identifier)) { // This parameter cannot match. return false; } } return true; }
public String toString() { return "Replace override for method '" + getMethodName() + "; will call bean '" + this.methodReplacerBeanName + "'"; }
@Override public String toString() { return "Replace override for method '" + getMethodName() + "'"; }
public boolean matches(Method method) { // TODO could cache result for efficiency if (!method.getName().equals(getMethodName())) { // It can't match. return false; } if (!isOverloaded()) { // No overloaded: don't worry about arg type matching. return true; } // If we get to here, we need to insist on precise argument matching. if (this.typeIdentifiers.size() != method.getParameterTypes().length) { return false; } for (int i = 0; i < this.typeIdentifiers.size(); i++) { String identifier = (String) this.typeIdentifiers.get(i); if (method.getParameterTypes()[i].getName().indexOf(identifier) == -1) { // This parameter cannot match. return false; } } return true; }
@Override public boolean matches(Method method) { if (!method.getName().equals(getMethodName())) { return false; } if (!isOverloaded()) { // Not overloaded: don't worry about arg type matching... return true; } // If we get here, we need to insist on precise argument matching... Class<?>[] parameterTypes = method.getParameterTypes(); if (this.typeIdentifiers.size() != parameterTypes.length) { return false; } for (int i = 0; i < this.typeIdentifiers.size(); i++) { String identifier = this.typeIdentifiers.get(i); if (!parameterTypes[i].getName().contains(identifier)) { return false; } } return true; }
/** * 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(); } }