Class PyMethod

java.lang.Object
org.python.core.PyObject
org.python.core.PyMethod
All Implemented Interfaces:
Serializable, InvocationHandler, Traverseproc

public class PyMethod extends PyObject implements InvocationHandler, Traverseproc
A Python method.
See Also:
  • Field Details

    • TYPE

      public static final PyType TYPE
    • im_class

      public PyObject im_class
      The class associated with a method.
    • __func__

      public PyObject __func__
      The function (or other callable) implementing a method, also available via im_func
    • __self__

      public PyObject __self__
      The instance to which a method is bound; None for unbound methods also available via im_self
  • Constructor Details

  • Method Details

    • getFunc

      @Deprecated public PyObject getFunc()
      Deprecated.
    • getSelf

      @Deprecated public PyObject getSelf()
      Deprecated.
    • __findattr_ex__

      public PyObject __findattr_ex__(String name)
      Description copied from class: PyObject
      Attribute lookup hook. If the attribute is not found, null may be returned or a Py.AttributeError can be thrown, whatever is more correct, efficient and/or convenient for the implementing class. Client code should use PyObject.__getattr__(String) or PyObject.__findattr__(String). Both methods have a clear policy for failed lookups.
      Overrides:
      __findattr_ex__ in class PyObject
      Returns:
      The looked up value. May return null if the attribute is not found
    • __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__(ThreadState state)
      Overrides:
      __call__ in class PyObject
    • __call__

      public PyObject __call__(PyObject arg0)
      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:
      arg0 - the single argument to the function.
    • __call__

      public PyObject __call__(ThreadState state, PyObject arg0)
      Overrides:
      __call__ in class PyObject
    • __call__

      public PyObject __call__(PyObject arg0, PyObject arg1)
      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:
      arg0 - the first argument to the function.
      arg1 - the second argument to the function.
    • __call__

      public PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1)
      Overrides:
      __call__ in class PyObject
    • __call__

      public PyObject __call__(PyObject arg0, PyObject arg1, PyObject arg2)
      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:
      arg0 - the first argument to the function.
      arg1 - the second argument to the function.
      arg2 - the third argument to the function.
    • __call__

      public PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2)
      Overrides:
      __call__ in class PyObject
    • __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__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2, PyObject arg3)
      Overrides:
      __call__ in class PyObject
    • __call__

      public PyObject __call__(PyObject arg1, PyObject[] args, 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.
    • __call__

      public PyObject __call__(ThreadState state, PyObject arg1, PyObject[] args, String[] keywords)
      Overrides:
      __call__ in class PyObject
    • __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__(ThreadState state, PyObject[] args)
      Overrides:
      __call__ in class PyObject
    • __call__

      public PyObject __call__(PyObject[] args, 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__(ThreadState state, PyObject[] args, String[] keywords)
      Overrides:
      __call__ in class PyObject
    • __cmp__

      public int __cmp__(PyObject other)
      Description copied from class: PyObject
      Equivalent to the standard Python __cmp__ method.
      Overrides:
      __cmp__ in class PyObject
      Parameters:
      other - the object to compare this with.
      Returns:
      -1 if this<o; 0 if this==o; +1 if this>o; -2 if no comparison is implemented
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class PyObject
    • getDoc

      public PyObject getDoc()
    • toString

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

      public Object __tojava__(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 Object invoke(Object proxy, Method method, Object[] args) throws Throwable
      Specified by:
      invoke in interface InvocationHandler
      Throws:
      Throwable
    • traverse

      public int traverse(Visitproc visit, Object arg)
      Description copied from interface: Traverseproc
      Traverses all directly contained PyObjects. Like in CPython, arg must be passed unmodified to visit as its second parameter. If Visitproc.visit(PyObject, Object) returns nonzero, this return value must be returned immediately by traverse. Visitproc.visit(PyObject, Object) must not be called with a null PyObject-argument.
      Specified by:
      traverse in interface Traverseproc
    • refersDirectlyTo

      public boolean refersDirectlyTo(PyObject ob)
      Description copied from interface: Traverseproc
      Optional operation. Should only be implemented if it is more efficient than calling Traverseproc.traverse(Visitproc, Object) with a visitproc that just watches out for ob. Must return false if ob is null.
      Specified by:
      refersDirectlyTo in interface Traverseproc