public boolean respondsTo(String methodName, Class<?>... types) { Iterable<MethodAccess> methods = this.methodsMulti.getAll(methodName); for (MethodAccess methodAccess : methods) { if (methodAccess.isStatic()) continue; if (methodAccess.respondsTo(types) ) { return true; }; } return false; }
public boolean respondsTo(String methodName, Object... args) { Iterable<MethodAccess> methods = this.methodsMulti.getAll(methodName); for (MethodAccess methodAccess : methods) { if (methodAccess.isStatic()) continue; if (methodAccess.respondsTo(args) ) { return true; }; } return false; }
public boolean respondsTo(String methodName, Class<?>... types) { Iterable<MethodAccess> methods = this.methodsMulti.getAll(methodName); for (MethodAccess methodAccess : methods) { if (methodAccess.isStatic()) continue; if (methodAccess.respondsTo(types) ) { return true; }; } return false; }
public boolean respondsTo(String methodName, Object... args) { Iterable<MethodAccess> methods = this.methodsMulti.getAll(methodName); for (MethodAccess methodAccess : methods) { if (methodAccess.isStatic()) continue; if (methodAccess.respondsTo(args) ) { return true; }; } return false; }
public static Object invokeOverloaded(Object object, String name, Object... args) { ClassMeta classMeta = ClassMeta.classMeta(object.getClass()); Iterable<MethodAccess> invokers = classMeta.methods(name); for (MethodAccess m : invokers) { if (m.respondsTo(args)) { return m.invoke(object, args); } } return Exceptions.die(Object.class, "Unable to invoke method", name, "on object", object, "with arguments", args); }
public static Object invokeOverloaded(Object object, String name, Object... args) { ClassMeta classMeta = ClassMeta.classMeta(object.getClass()); Iterable<MethodAccess> invokers = classMeta.methods(name); for (MethodAccess m : invokers) { if (m.respondsTo(args)) { return m.invoke(object, args); } } return Exceptions.die(Object.class, "Unable to invoke method", name, "on object", object, "with arguments", args); }