Esempio n. 1
0
    def test_cast(self):
        from java.lang import Boolean, Object
        b = Boolean(True)
        b_Object = cast(Object, b)
        self.assertIsNot(b, b_Object)
        self.assertEqual(b, b_Object)
        self.assertIs(Boolean.getClass(), b.getClass())
        self.assertIs(Boolean.getClass(), b_Object.getClass())
        self.assertIsNot(Object.getClass(), b_Object.getClass())
        self.assertIs(b_Object, cast(Object, b))
        self.assertIs(b, cast(Boolean, b_Object))

        for obj in [Boolean, "Ljava/lang/Boolean;"]:
            with self.subTest(obj=obj):
                with self.assertRaisesRegex(TypeError, "cannot create java.lang.Boolean "
                                            "proxy from java.lang.Object instance"):
                    cast(obj, Object())

        with self.assertRaisesRegex(jclass("java.lang.NoClassDefFoundError"),
                                    "java.lang.Nonexistent"):
            cast("Ljava/lang/Nonexistent;", Object())

        with self.assertRaisesRegex(ValueError, "Invalid JNI signature: 'java.lang.Object'"):
            cast("java.lang.Object", Object())

        for obj in [0, True, None, int, str]:
            with self.subTest(obj=obj):
                with self.assertRaisesRegex(TypeError, f"{obj!r} is not a Java type"):
                    cast(obj, Object())
Esempio n. 2
0
    def test_identity(self):
        from java.lang import Object, String
        Object_klass, String_klass = Object.getClass(), String.getClass()
        self.assertIsNot(Object_klass, String_klass)
        self.t.fieldKlass = Object_klass
        self.assertIs(Object_klass, self.t.fieldKlass)
        self.t.setKlass(String_klass)
        self.assertIs(String_klass, self.t.getKlass())

        a1, a2 = [jarray(String)(x) for x in [["one", "two"], ["three", "four"]]]
        self.assertIsNot(a1, a2)
        self.t.fieldStringArray = a1
        self.assertIs(a1, self.t.fieldStringArray)
        self.t.setStringArray(a2)
        self.assertIs(a2, self.t.getStringArray())
Esempio n. 3
0
    def test_cast(self):
        from java.lang import Boolean, Object
        b = Boolean(True)
        b_Object = cast(Object, b)
        self.assertIsNot(b, b_Object)
        self.assertEqual(b, b_Object)
        self.assertIs(Boolean.getClass(), b.getClass())
        self.assertIs(Boolean.getClass(), b_Object.getClass())
        self.assertIsNot(Object.getClass(), b_Object.getClass())
        self.assertIs(b_Object, cast(Object, b))
        self.assertIs(b, cast(Boolean, b_Object))

        with self.assertRaisesRegexp(
                TypeError, "cannot create java.lang.Boolean proxy from "
                "java.lang.Object instance"):
            cast(Boolean, Object())
Esempio n. 4
0
 def getColumnClass(self, c):
     return Object.getClass(self.getValueAt(0, c))
 def getColumnClass(self, c):
     return Object.getClass(self.getValueAt(0, c))
Esempio n. 6
0
 def getColumnClass(self, columnIndex):
     if columnIndex < 0 or columnIndex > len(self.classes):
         return JavaObject.getClass()
     return self.classes[columnIndex]
Esempio n. 7
0
import sys

from zipfile import ZipFile

if len(sys.argv) < 2:
    print 'Usage:', sys.argv[0], '( --all | <jar>...)'
    sys.exit(1)

if sys.argv[1] == '--all':
    jars = System.getProperty("java.class.path").split(File.pathSeparator)
else:
    jars = sys.argv[1:]

classLoader = FijiClassLoader()
args = array([Object.getClass(zeros(0, String))], Class)


def hasMainMethod(name):
    try:
        c = Class.forName(name, False, classLoader)
        return c.getMethod('main', args) != None
    except:
        return False


for jar in jars:
    try:
        classLoader.addPath(jar)
        zip = ZipFile(jar, 'r')
        for file in zip.namelist():