public GroovyRuntimeBeanReference(String beanName, GroovyBeanDefinitionWrapper beanDefinition, boolean toParent) { super(beanName, toParent); this.beanDefinition = beanDefinition; this.metaClass = InvokerHelper.getMetaClass(this); }
public GroovyRuntimeBeanReference(String beanName, GroovyBeanDefinitionWrapper beanDefinition, boolean toParent) { super(beanName, toParent); this.beanDefinition = beanDefinition; this.metaClass = InvokerHelper.getMetaClass(this); }
public ConfigurableRuntimeBeanReference(String beanName, BeanConfiguration beanConfig, boolean toParent) { super(beanName, toParent); this.beanConfig = beanConfig; if(beanConfig == null) throw new IllegalArgumentException("Argument [beanConfig] cannot be null"); this.metaClass = InvokerHelper.getMetaClass(this); }
public static MetaClass getMetaClass(Object object) { return InvokerHelper.getMetaClass(object); }
public static MetaClass getMetaClass(Class<?> clazz) { return InvokerHelper.getMetaClass(clazz); }
/** * GroovyObject support method */ @Override public void setMetaClass(MetaClass metaClass) { this.metaClass = metaClass == null ? InvokerHelper.getMetaClass(this.getClass()) : metaClass; }
public HandleMetaClass(MetaClass mc, Object obj) { super(mc); if (obj != null) { if (InvokerHelper.getMetaClass(obj.getClass()) == mc || !(mc instanceof ExpandoMetaClass)) object = obj; // object has default meta class, so we need to replace it on demand else object = NONE; // object already has per instance meta class } }
/** * Sets the delegation target. */ public void setDelegate(Object delegate) { this.delegate = delegate; this.metaClass = InvokerHelper.getMetaClass(delegate.getClass()); }
public ExpandoMetaClass(MetaClassRegistry registry, Class theClass, boolean register, boolean allowChangesAfterInit, MetaMethod[] add) { super(registry, theClass, add); this.myMetaClass = InvokerHelper.getMetaClass(getClass()); this.inRegistry = register; this.allowChangesAfterInit = allowChangesAfterInit; }
/** * Sets the properties on the given object */ public static void setProperties(Object object, Map map) { MetaClass mc = getMetaClass(object); for (Object o : map.entrySet()) { Map.Entry entry = (Map.Entry) o; String key = entry.getKey().toString(); Object value = entry.getValue(); setPropertySafe(object, mc, key, value); } }
public static void checkPropNames(Object instance, Map<String, Object> args) { final MetaClass metaClass = InvokerHelper.getMetaClass(instance); for (String k : args.keySet()) { if (metaClass.hasProperty(instance, k) == null) throw new MissingPropertyException(k, instance.getClass()); } }
MetaClass getStaticMetaClass (Object obj) { MetaClass mc; if (staticMetaClass == null || (mc = (MetaClass) staticMetaClass.get()) == null ) { mc = InvokerHelper.getMetaClass(obj); staticMetaClass = new SoftReference(mc); } return mc; }
public Object call(Object receiver, Object[] args) throws Throwable { if (receiver != null && info.hasPerInstanceMetaClasses()) { try { return InvokerHelper.getMetaClass(receiver).invokeMethod(receiver, name, args); } catch (GroovyRuntimeException gre) { throw ScriptBytecodeAdapter.unwrap(gre); } } else { return CallSiteArray.defaultCall(this, receiver, args); } } }
public void testArray() { String[] value = new String[]{"hello"}; MetaClass metaClass = InvokerHelper.getMetaClass(value); assertTrue("got metaclass", metaClass != null); metaClass.invokeMethod(value, "toString", new Object[0]); }
public void testSetPropertyWithList() { DymmyClass dymmyClass = new DymmyClass(); MetaClass metaClass = InvokerHelper.getMetaClass(dymmyClass); // test list ArrayList list = new ArrayList(); list.add(new Integer(120)); list.add(new Integer(150)); // test int[] metaClass.setProperty(dymmyClass, "ints", list); // test Integer[] metaClass.setProperty(dymmyClass, "integers", list); }
public void testObject() { Object value = new Object(); MetaClass metaClass = InvokerHelper.getMetaClass(value); assertTrue("got metaclass", metaClass != null); metaClass.invokeMethod(value, "toString", new Object[0]); }
public void testSetPropertyWithInt() { DymmyClass dymmyClass = new DymmyClass(); MetaClass metaClass = InvokerHelper.getMetaClass(dymmyClass); metaClass.setProperty(dymmyClass, "anInt", new Integer(10)); }
public void testMetaClass() { Class foo = String[].class; System.out.println(foo + " name: " + foo.getName()); MetaClass metaClass = InvokerHelper.getMetaClass(this); assertTrue("got metaclass", metaClass != null); metaClass.invokeMethod(this, "doSomething", new Object[0]); }
public void testString() { String value = "hello"; MetaClass metaClass = InvokerHelper.getMetaClass(value); assertTrue("got metaclass", metaClass != null); Object answer = metaClass.invokeMethod(value, "toString", new Object[0]); assertEquals("hello", answer); }
public void testPublicField() { DymmyClass dymmyClass = new DymmyClass(); MetaClass metaClass = InvokerHelper.getMetaClass(dymmyClass); assertEquals(metaClass.getProperty(dymmyClass, "x"), new Integer(0)); assertEquals(metaClass.getProperty(dymmyClass, "y"), "none"); metaClass.setProperty(dymmyClass, "x", new Integer(25)); assertEquals(dymmyClass.x, 25); metaClass.setProperty(dymmyClass, "y", "newvalue"); assertEquals(dymmyClass.y, "newvalue"); }