@Override public Object getProperty(Object target, String property) { String methodName = GroovyRuntimeUtil.propertyToMethodName("get", property); return invokeMethod(target, methodName, GroovyRuntimeUtil.EMPTY_ARGUMENTS); }
@Override public void setProperty(Object target, String property, Object newValue) { String methodName = GroovyRuntimeUtil.propertyToMethodName("set", property); invokeMethod(target, methodName, new Object[] {newValue}); }
@Override public ISlot create(Object owner, Type ownerType, String name) { String addMethodName = GroovyRuntimeUtil.propertyToMethodName("add", name); MetaMethod addMethod = GroovyRuntimeUtil.getMetaClass(owner).pickMethod(addMethodName, new Class[]{Object.class}); return addMethod != null ? new SetterLikeSlot(owner, ownerType, addMethod) : null; } }
String methodName = GroovyRuntimeUtil.propertyToMethodName("set", (String) normalizedArgs[0]); return GroovyRuntimeUtil.invokeMethod(target, methodName, GroovyRuntimeUtil.asArgumentArray(normalizedArgs[1]));
String methodName = GroovyRuntimeUtil.propertyToMethodName("get", (String) normalizedArgs[0]); return GroovyRuntimeUtil.invokeMethod(target, methodName); String methodName = GroovyRuntimeUtil.propertyToMethodName("set", (String) normalizedArgs[0]); return GroovyRuntimeUtil.invokeMethod(target, methodName, normalizedArgs[1]);