public void setAttribute(Object object, String attribute, Object newValue) { delegate.setAttribute(object, attribute, newValue); }
public void setAttribute(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass) { this.delegate.setAttribute(sender, receiver, messageName, messageValue, useSuper, fromInsideClass); }
public static void setAttribute(Object object, String attribute, Object newValue) { if (object == null) { object = NullObject.getNullObject(); } if (object instanceof Class) { metaRegistry.getMetaClass((Class) object).setAttribute(object, attribute, newValue); } else if (object instanceof GroovyObject) { ((GroovyObject) object).getMetaClass().setAttribute(object, attribute, newValue); } else { metaRegistry.getMetaClass(object.getClass()).setAttribute(object, attribute, newValue); } }
public void setAttribute(Object object, String attribute, Object newValue) { final Object owner = getOwner(); final MetaClass ownerMetaClass = getOwnerMetaClass(owner); ownerMetaClass.setAttribute(object, attribute, newValue); }
public void setAttribute(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass) { final Object owner = getOwner(); final MetaClass ownerMetaClass = getOwnerMetaClass(owner); ownerMetaClass.setAttribute(sender, owner, messageName, messageValue, useSuper, fromInsideClass); }
public static void setGroovyObjectField(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable { try { receiver.getMetaClass().setAttribute(receiver, messageName, messageArgument); } catch (GroovyRuntimeException gre) { throw unwrap(gre); } }
public static void setGroovyObjectFieldSafe(Object messageArgument, Class senderClass, GroovyObject receiver, String messageName) throws Throwable { if (receiver == null) return; try { receiver.getMetaClass().setAttribute(receiver, messageName, messageArgument); } catch (GroovyRuntimeException gre) { throw unwrap(gre); } }
public static void setFieldOnSuper(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable { try { if (receiver instanceof Class) { InvokerHelper.setAttribute(receiver, messageName, messageArgument); } else { MetaClass mc = ((GroovyObject) receiver).getMetaClass(); mc.setAttribute(senderClass, receiver, messageName, messageArgument, true, true); } } catch (GroovyRuntimeException gre) { throw unwrap(gre); } }
@Override public void setAttribute(Class sender, Object object, String attribute, Object newValue, boolean useSuper, boolean fromInsideClass) { if (object instanceof Class) { getStaticMetaClass().setAttribute(sender, object, attribute, newValue, useSuper, fromInsideClass); } else { if (!attributeInitDone) initAttributes(); CachedField mfp = attributes.get(attribute); if (mfp == null) { CLOSURE_METACLASS.setAttribute(sender, object, attribute, newValue, useSuper, fromInsideClass); } else { mfp.setProperty(object, newValue); } } }
if (isStatic && object != theClass) { MetaClass mc = registry.getMetaClass((Class) object); mc.setAttribute(sender, object, attribute, newValue, useSuper, fromInsideClass); return;
obj.getMetaClass().setAttribute(obj, "x", newX1);
obj.getMetaClass().setAttribute(obj, "x", newX1);
obj.getMetaClass().setAttribute(obj, "x", newX1);
obj.getMetaClass().setAttribute(obj, "x", newX1);
public void testMetaClassNameHandling() { final Tt1gi obj = new Tt1gi(); // Test class implementing GroovyObject final String newX = "new x"; final String newX1 = "new x1"; final String newX2 = "new x2"; final String newX3 = "new x3"; assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x); assertTrue("dynamic method".equals(obj.invokeMethod("x", new Object[]{}))); obj.setProperty("x", newX); obj.getMetaClass().setAttribute(obj, "x", newX1); assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1); obj.setX(newX2); obj.x = newX3; assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3); }
public void testMetaClassNameHandling1() { final Tt1gi obj = new Tt1gi() { }; // repeat test with subclass final String newX = "new x"; final String newX1 = "new x1"; final String newX2 = "new x2"; final String newX3 = "new x3"; assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x); assertTrue("dynamic method".equals(obj.invokeMethod("x", new Object[]{}))); obj.setProperty("x", newX); obj.getMetaClass().setAttribute(obj, "x", newX1); assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1); obj.setX(newX2); obj.x = newX3; assertTrue("dynamic property".equals(obj.getProperty("x"))); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3); }
public void testObjectSupportNameHandling() { final Tt1go obj = new Tt1go(); // Test subclass of GroovyObjectSupport final String newX = "new x"; final String newX1 = "new x1"; final String newX2 = "new x2"; final String newX3 = "new x3"; assertTrue(obj.getProperty("x") == obj.getX()); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x); assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x()); obj.setProperty("x", newX); obj.getMetaClass().setAttribute(obj, "x", newX1); assertTrue(obj.getProperty("x") == newX); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1); obj.setX(newX2); obj.x = newX3; assertTrue(obj.getProperty("x") == newX2); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3); }
public void testObjectSupportNameHandling1() { final Tt1go obj = new Tt1go() { }; // repeat test with subclass final String newX = "new x"; final String newX1 = "new x1"; final String newX2 = "new x2"; final String newX3 = "new x3"; assertTrue(obj.getProperty("x") == obj.getX()); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == obj.x); assertTrue(obj.invokeMethod("x", new Object[]{}) == obj.x()); obj.setProperty("x", newX); obj.getMetaClass().setAttribute(obj, "x", newX1); assertTrue(obj.getProperty("x") == newX); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX1); obj.setX(newX2); obj.x = newX3; assertTrue(obj.getProperty("x") == newX2); assertTrue(obj.getMetaClass().getAttribute(obj, "x") == newX3); }
public static void setAttribute(Object object, String attribute, Object newValue) { if (object == null) { object = NullObject.getNullObject(); } if (object instanceof Class) { metaRegistry.getMetaClass((Class) object).setAttribute(object, attribute, newValue); } else if (object instanceof GroovyObject) { ((GroovyObject) object).getMetaClass().setAttribute(object, attribute, newValue); } else { metaRegistry.getMetaClass(object.getClass()).setAttribute(object, attribute, newValue); } }
public static void setFieldOnSuper(Object messageArgument, Class senderClass, Object receiver, String messageName) throws Throwable { try { if (receiver instanceof Class) { InvokerHelper.setAttribute(receiver, messageName, messageArgument); } else { MetaClass mc = ((GroovyObject) receiver).getMetaClass(); mc.setAttribute(senderClass, receiver, messageName, messageArgument, true, true); } } catch (GroovyRuntimeException gre) { throw unwrap(gre); } }