def test_01_05_03_set_static_field(self): class_name = "org/cellprofiler/javabridge/test/RealRect" test_cases = ( ("fs_boolean", "Z", True), # <AK> added ("fs_char", "C", "A"), ("fs_byte", "B", 3), ("fs_short", "S", 15), ("fs_int", "I", 392), ("fs_long", "J", -14), ("fs_float", "F", 1.03), ("fs_double", "D", -889.1), ("fs_object", "Ljava/lang/Object;", javabridge.make_instance("java/lang/Integer", "(I)V", 15)), ("fs_object", "Ljava/lang/Object;", None)) for field_name, signature, value in test_cases: javabridge.set_static_field(class_name, field_name, signature, value) v = javabridge.get_static_field(class_name, 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: return object.__setattr__(self, name, value) 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_static_field(self.cname, name, sig(klass), value)
def test_01_05_03_set_static_field(self): class_name = "org/cellprofiler/javabridge/test/RealRect" test_cases = ( ("fs_char", "C", "A"), ("fs_byte", "B", 3), ("fs_short", "S", 15), ("fs_int", "I", 392), ("fs_long", "J", -14), ("fs_float", "F", 1.03), ("fs_double", "D", -889.1), ("fs_object", "Ljava/lang/Object;", javabridge.make_instance("java/lang/Integer", "(I)V", 15)), ("fs_object", "Ljava/lang/Object;", None)) for field_name, signature, value in test_cases: javabridge.set_static_field(class_name, field_name, signature, value) v = javabridge.get_static_field(class_name, 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 fn(): javabridge.set_static_field('no/such/class', "field", "I", 5)
def fn(): javabridge.set_static_field('java/lang/Object', "NoSuchField", "I", 5)
def fn(): javabridge.set_static_field( 'no/such/class', "field", "I", 5)
def fn(): javabridge.set_static_field( 'java/lang/Object', "NoSuchField", "I", 5)