def test_09_03_set_field(self): class_name = "org/cellprofiler/javabridge/test/RealRect" o = javabridge.make_instance(class_name, "()V") test_cases = ( ("f_boolean", "Z", True), # <AK> added ("f_char", "C", "A"), ("f_byte", "B", 3), ("f_short", "S", 15), ("f_int", "I", 392), ("f_long", "J", -14), ("f_float", "F", 1.03), ("f_double", "D", -889.1), ("f_object", "Ljava/lang/Object;", javabridge.make_instance("java/lang/Integer", "(I)V", 15)), ("f_object", "Ljava/lang/Object;", None)) for field_name, signature, value in test_cases: javabridge.set_field(o, field_name, signature, value) v = javabridge.get_field(o, field_name, signature) if isinstance(value, float): self.assertAlmostEqual(v, value) elif isinstance(value, javabridge.JB_Object): self.assertTrue( javabridge.call(value, "equals", "(Ljava/lang/Object;)Z", v)) else: self.assertEqual(v, value)
def __setattr__(self, name, value): try: jfield = self.klass.getField(name) except: object.__setattr__(self, name, value) return STATIC = J.get_static_field("java/lang/reflect/Modifier", "STATIC", "I") if (J.call(jfield, "getModifiers", "()I") & STATIC) == STATIC: raise AttributeError() klass = J.call(jfield, "getType", "()Ljava/lang/Class;") result = J.set_field(self.o, name, sig(klass), value)
def test_09_03_set_field(self): class_name = "org/cellprofiler/javabridge/test/RealRect" o = javabridge.make_instance(class_name, "()V") test_cases = ( ("f_char", "C", "A"), ("f_byte", "B", 3), ("f_short", "S", 15), ("f_int", "I", 392), ("f_long", "J", -14), ("f_float", "F", 1.03), ("f_double", "D", -889.1), ("f_object", "Ljava/lang/Object;", javabridge.make_instance("java/lang/Integer", "(I)V", 15)), ("f_object", "Ljava/lang/Object;", None)) for field_name, signature, value in test_cases: javabridge.set_field(o, field_name, signature, value) v = javabridge.get_field(o, field_name, signature) if isinstance(value, float): self.assertAlmostEqual(v, value) elif isinstance(value, javabridge.JB_Object): self.assertTrue(javabridge.call( value, "equals", "(Ljava/lang/Object;)Z", v)) else: self.assertEqual(v, value)
def __setattr__(self, name, value): if name in ("o", "class_wrapper", "methods") or \ not hasattr(self, "methods"): object.__setattr__(self, name, value) return try: jfield = self.class_wrapper.getField(name) except: object.__setattr__(self, name, value) return STATIC = J.get_static_field("java/lang/reflect/Modifier", "STATIC", "I") if (J.call(jfield, "getModifiers", "()I") & STATIC) == STATIC: raise AttributeError() klass = J.call(jfield, "getType", "()Ljava/lang/Class;") result = J.set_field(self.o, name, sig(klass), value)
def __setattr__(self, name, value): if name in ("o", "class_wrapper", "methods", "field_names") or \ not hasattr(self, "methods"): object.__setattr__(self, name, value) return try: jfield = self.class_wrapper.getField(name) except: object.__setattr__(self, name, value) return STATIC = J.get_static_field("java/lang/reflect/Modifier", "STATIC", "I") if (J.call(jfield, "getModifiers", "()I") & STATIC) == STATIC: raise AttributeError() klass = J.call(jfield, "getType", "()Ljava/lang/Class;") result = J.set_field(self.o, name, sig(klass), value)
def fn(): o = javabridge.make_instance("java/lang/Object", "()V") javabridge.set_field(o, "NoSuchField", "I", 1)
def test_09_02_set_field(self): o = javabridge.make_instance("org/cellprofiler/javabridge/test/RealRect", "(DDDD)V", 1, 2, 3, 4) javabridge.set_field(o, "x", "D", 5.5) self.assertEqual(javabridge.get_field(o, "x", "D"), 5.5)
def test_09_02_set_field(self): o = javabridge.make_instance( "org/cellprofiler/javabridge/test/RealRect", "(DDDD)V", 1, 2, 3, 4) javabridge.set_field(o, "x", "D", 5.5) self.assertEqual(javabridge.get_field(o, "x", "D"), 5.5)