Class PyFunction

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.reflect.InvocationHandler, Traverseproc

    public class PyFunction
    extends PyObject
    implements java.lang.reflect.InvocationHandler, Traverseproc
    A Python function.
    See Also:
    Serialized Form
    • Field Detail

      • TYPE

        public static final PyType TYPE
      • __name__

        public java.lang.String __name__
        The writable name, also available via func_name.
      • __doc__

        public PyObject __doc__
        The writable doc string, also available via func_doc.
      • __globals__

        public PyObject __globals__
        The read only namespace; a dict (PyStringMap).
      • __defaults__

        public PyObject[] __defaults__
        Default argument values for associated kwargs. Exposed as a tuple to Python. Writable.
      • __code__

        public PyCode __code__
        The actual function's code, writable.
      • __dict__

        public PyObject __dict__
        A function's lazily created __dict__; allows arbitrary attributes to be tacked on. Read only.
      • __closure__

        public PyObject __closure__
        A read only closure tuple for nested scopes.
      • __module__

        public PyObject __module__
        Writable object describing what module this function belongs to.
    • Method Detail

      • setName

        public void setName​(java.lang.String func_name)
      • delName

        public void delName()
      • getFuncName

        @Deprecated
        public java.lang.String getFuncName()
        Deprecated.
      • setFuncName

        @Deprecated
        public void setFuncName​(java.lang.String func_name)
        Deprecated.
      • delFuncName

        @Deprecated
        public void delFuncName()
        Deprecated.
      • getFuncDoc

        @Deprecated
        public PyObject getFuncDoc()
        Deprecated.
      • setFuncDoc

        @Deprecated
        public void setFuncDoc​(PyObject func_doc)
        Deprecated.
      • delFuncDoc

        @Deprecated
        public void delFuncDoc()
        Deprecated.
      • delDoc

        public void delDoc()
      • getDefaults

        public PyObject getDefaults()
      • setDefaults

        public void setDefaults​(PyObject func_defaults)
      • delDefaults

        public void delDefaults()
      • getFuncDefaults

        @Deprecated
        public PyObject getFuncDefaults()
        Deprecated.
      • setFuncDefaults

        @Deprecated
        public void setFuncDefaults​(PyObject func_defaults)
        Deprecated.
      • delFuncDefaults

        @Deprecated
        public void delFuncDefaults()
        Deprecated.
      • getFuncCode

        @Deprecated
        public PyCode getFuncCode()
        Deprecated.
      • setFuncCode

        @Deprecated
        public void setFuncCode​(PyCode code)
        Deprecated.
      • setCode

        public void setCode​(PyCode code)
      • delModule

        public void delModule()
      • fastGetDict

        public PyObject fastGetDict()
        Description copied from class: PyObject
        xxx implements where meaningful
        Overrides:
        fastGetDict in class PyObject
        Returns:
        internal object per instance dict or null
      • getDict

        public PyObject getDict()
        Description copied from class: PyObject
        xxx implements where meaningful
        Overrides:
        getDict in class PyObject
        Returns:
        internal object __dict__ or null
      • getFuncDict

        @Deprecated
        public PyObject getFuncDict()
        Deprecated.
      • setFuncDict

        @Deprecated
        public void setFuncDict​(PyObject value)
        Deprecated.
      • delFuncDict

        @Deprecated
        public void delFuncDict()
        Deprecated.
      • setGlobals

        public void setGlobals​(PyObject value)
      • delGlobals

        public void delGlobals()
      • getFuncGlobals

        @Deprecated
        public PyObject getFuncGlobals()
        Deprecated.
      • setFuncGlobals

        @Deprecated
        public void setFuncGlobals​(PyObject value)
        Deprecated.
      • delFuncGlobals

        @Deprecated
        public void delFuncGlobals()
        Deprecated.
      • setClosure

        public void setClosure​(PyObject value)
      • delClosure

        public void delClosure()
      • getFuncClosure

        @Deprecated
        public PyObject getFuncClosure()
        Deprecated.
      • setFuncClosure

        @Deprecated
        public void setFuncClosure​(PyObject value)
        Deprecated.
      • delFuncClosure

        @Deprecated
        public void delFuncClosure()
        Deprecated.
      • __setattr__

        public void __setattr__​(java.lang.String name,
                                PyObject value)
        Description copied from class: PyObject
        A variant of the __setattr__ method which accepts a String as the key. This String must be interned.
        Overrides:
        __setattr__ in class PyObject
        Parameters:
        name - the name whose value will be set - must be an interned string .
        value - the value to set this name to
        See Also:
        PyObject.__setattr__(PyString, PyObject)
      • __get__

        public PyObject __get__​(PyObject obj,
                                PyObject type)
        Description copied from class: PyObject
        Get descriptor for this PyObject.
        Overrides:
        __get__ in class PyObject
        Parameters:
        obj - - the instance accessing this descriptor. Can be null if this is being accessed by a type.
        type - - the type accessing this descriptor. Will be null if obj exists as obj is of the type accessing the descriptor.
        Returns:
        - the object defined for this descriptor for the given obj and type.
      • __call__

        public PyObject __call__()
        Description copied from class: PyObject
        A variant of the __call__ method with no arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
      • __call__

        public PyObject __call__​(PyObject arg)
        Description copied from class: PyObject
        A variant of the __call__ method with one argument. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        arg - the single argument to the function.
      • __call__

        public PyObject __call__​(PyObject arg1,
                                 PyObject arg2)
        Description copied from class: PyObject
        A variant of the __call__ method with two arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        arg1 - the first argument to the function.
        arg2 - the second argument to the function.
      • __call__

        public PyObject __call__​(PyObject arg1,
                                 PyObject arg2,
                                 PyObject arg3)
        Description copied from class: PyObject
        A variant of the __call__ method with three arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        arg1 - the first argument to the function.
        arg2 - the second argument to the function.
        arg3 - the third argument to the function.
      • __call__

        public PyObject __call__​(PyObject arg0,
                                 PyObject arg1,
                                 PyObject arg2,
                                 PyObject arg3)
        Description copied from class: PyObject
        A variant of the __call__ method with four arguments. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        arg0 - the first argument to the function.
        arg1 - the second argument to the function.
        arg2 - the third argument to the function.
        arg3 - the fourth argument to the function.
      • __call__

        public PyObject __call__​(PyObject[] args)
        Description copied from class: PyObject
        A variant of the __call__ method when no keywords are passed. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        args - all arguments to the function.
      • __call__

        public PyObject __call__​(PyObject[] args,
                                 java.lang.String[] keywords)
        Description copied from class: PyObject
        The basic method to override when implementing a callable object. The first len(args)-len(keywords) members of args[] are plain arguments. The last len(keywords) arguments are the values of the keyword arguments.
        Overrides:
        __call__ in class PyObject
        Parameters:
        args - all arguments to the function (including keyword arguments).
        keywords - the keywords used for all keyword arguments.
      • __call__

        public PyObject __call__​(PyObject arg1,
                                 PyObject[] args,
                                 java.lang.String[] keywords)
        Description copied from class: PyObject
        A variant of the __call__ method with one extra initial argument. This variant is used to allow method invocations to be performed efficiently. The default behavior is to invoke __call__(args, keywords) with the appropriate arguments. The only reason to override this function would be for improved performance.
        Overrides:
        __call__ in class PyObject
        Parameters:
        arg1 - the first argument to the function.
        args - the last arguments to the function (including keyword arguments).
        keywords - the keywords used for all keyword arguments.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class PyObject
      • __tojava__

        public java.lang.Object __tojava__​(java.lang.Class<?> c)
        Description copied from class: PyObject
        Equivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special object Py.NoConversion if this PyObject can not be converted to the desired Java class.
        Overrides:
        __tojava__ in class PyObject
        Parameters:
        c - the Class to convert this PyObject to.
      • invoke

        public java.lang.Object invoke​(java.lang.Object proxy,
                                       java.lang.reflect.Method method,
                                       java.lang.Object[] args)
                                throws java.lang.Throwable
        Specified by:
        invoke in interface java.lang.reflect.InvocationHandler
        Throws:
        java.lang.Throwable