Esempio n. 1
0
    def __init__(self, intf, dict=None, inst=None) :
        actualIntf = None
        
        if isinstance(intf, str) or isinstance(intf, unicode) :
            actualIntf = [ _jclass.JClass(intf) ]
        elif isinstance(intf, _jclass._JavaClass) :
            actualIntf = [ intf ]
        elif operator.isSequenceType(intf) :
            actualIntf = []
            for i in intf :            
                if isinstance(i, str) or isinstance(i, unicode) :
                    actualIntf.append(_jclass.JClass(i))
                elif isinstance(i, _jclass._JavaClass) :
                    actualIntf.append(i)
                else:
                    raise TypeError, "JProxy requires java interface classes or the names of java interfaces classes"                
        else:
            raise TypeError, "JProxy requires java interface classes or the names of java interfaces classes"
                
        for i in actualIntf :
            if not JClassUtil.isInterface(i) :
                raise TypeError, "JProxy requires java interface classes or the names of java interfaces classes : "+i.__name__                 

        if dict is not None and inst is not None :
            raise RuntimeError, "Specify only one of dict and inst"

        self._dict = dict
        self._inst = inst
        
        self._proxy = _jpype.createProxy(self, actualIntf)
Esempio n. 2
0
    def __init__(self, intf, dictionary=None, inst=None):
        actualIntf = None

        if isinstance(intf, str):
            actualIntf = [_jclass.JClass(intf)]
        elif isinstance(intf, _jclass._JavaClass):
            actualIntf = [intf]
        elif isinstance(intf, collections.Sequence):
            actualIntf = []
            for i in intf:
                if isinstance(i, str):
                    actualIntf.append(_jclass.JClass(i))
                elif isinstance(i, _jclass._JavaClass):
                    actualIntf.append(i)
                else:
                    raise TypeError("JProxy requires java interface classes "
                                    "or the names of java interfaces classes")
        else:
            raise TypeError("JProxy requires java interface classes "
                            "or the names of java interfaces classes")

        for i in actualIntf:
            if not JClassUtil.isInterface(i):
                raise TypeError(
                    "JProxy requires java interface classes or "
                    "the names of java interfaces classes: {0}".format(
                        i.__name__))

        if dictionary is not None and inst is not None:
            raise RuntimeError("Specify only one of dictionary and inst")

        self._dict = dictionary
        self._inst = inst

        self._proxy = _jpype.createProxy(self, actualIntf)
Esempio n. 3
0
    def __init__(self, intf, dictionary=None, inst=None):
        actualIntf = None

        if isinstance(intf, str):
            actualIntf = [_jclass.JClass(intf)]
        elif isinstance(intf, _jclass._JavaClass):
            actualIntf = [intf]
        elif isinstance(intf, collections.Sequence):
            actualIntf = []
            for i in intf:
                if isinstance(i, str):
                    actualIntf.append(_jclass.JClass(i))
                elif isinstance(i, _jclass._JavaClass):
                    actualIntf.append(i)
                else:
                    raise TypeError("JProxy requires java interface classes or the names of java interfaces classes")
        else:
            raise TypeError("JProxy requires java interface classes or the names of java interfaces classes")

        for i in actualIntf:
            if not JClassUtil.isInterface(i):
                raise TypeError(
                    "JProxy requires java interface classes or the names of java interfaces classes: {0}".format(
                        i.__name__
                    )
                )

        if dictionary is not None and inst is not None:
            raise RuntimeError("Specify only one of dictionary and inst")

        self._dict = dictionary
        self._inst = inst

        self._proxy = _jpype.createProxy(self, actualIntf)