org.python.core
Class PyFunction

java.lang.Object
  extended by org.python.core.PyObject
      extended by org.python.core.PyFunction
All Implemented Interfaces:
Serializable, InvocationHandler

public class PyFunction
extends PyObject
implements InvocationHandler

A Python function.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
 PyObject __dict__
          A function's lazily created __dict__; allows arbitrary attributes to be tacked on.
 PyObject __doc__
          The writable doc string, also available via func_doc.
 PyObject __module__
          Writable object describing what module this function belongs to.
 String __name__
          The writable name, also available via func_name.
 PyObject func_closure
          A read only closure tuple for nested scopes.
 PyCode func_code
          The actual funtion's code, writable.
 PyObject[] func_defaults
          Default argument values for associated kwargs.
 PyObject func_globals
          The read only namespace; a dict (PyStringMap).
static PyType TYPE
           
 
Constructor Summary
PyFunction(PyObject globals, PyObject[] defaults, PyCode code)
           
PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject doc)
           
PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject[] closure_cells)
           
PyFunction(PyObject globals, PyObject[] defaults, PyCode code, PyObject doc, PyObject[] closure_cells)
           
 
Method Summary
 PyObject __call__()
          A variant of the __call__ method with no arguments.
 PyObject __call__(PyObject arg)
          A variant of the __call__ method with one argument.
 PyObject __call__(PyObject[] args)
          A variant of the __call__ method when no keywords are passed.
 PyObject __call__(PyObject[] args, String[] keywords)
          The basic method to override when implementing a callable object.
 PyObject __call__(PyObject arg1, PyObject arg2)
          A variant of the __call__ method with two arguments.
 PyObject __call__(PyObject arg1, PyObject[] args, String[] keywords)
          A variant of the __call__ method with one extra initial argument.
 PyObject __call__(PyObject arg1, PyObject arg2, PyObject arg3)
          A variant of the __call__ method with three arguments.
 PyObject __call__(PyObject arg0, PyObject arg1, PyObject arg2, PyObject arg3)
          A variant of the __call__ method with four arguments.
 PyObject __call__(ThreadState state)
           
 PyObject __call__(ThreadState state, PyObject arg0)
           
 PyObject __call__(ThreadState state, PyObject[] args)
           
 PyObject __call__(ThreadState state, PyObject[] args, String[] keywords)
           
 PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1)
           
 PyObject __call__(ThreadState state, PyObject arg1, PyObject[] args, String[] keywords)
           
 PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2)
           
 PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2, PyObject arg3)
           
 PyObject __get__(PyObject obj, PyObject type)
          Get descriptor for this PyObject.
 void __setattr__(String name, PyObject value)
          A variant of the __setattr__ method which accepts a String as the key.
 Object __tojava__(Class<?> c)
          Equivalent to the Jython __tojava__ method.
 void delDict()
           
 void delDoc()
           
 void delFuncDefaults()
           
 void delFuncDict()
           
 void delFuncDoc()
           
 void delModule()
           
 PyObject fastGetDict()
          xxx implements where meaningful
 PyObject getDict()
          xxx implements where meaningful
 PyObject getFuncDefaults()
           
 PyObject getFuncDict()
           
 PyObject getFuncDoc()
           
 PyString getFuncName()
           
 Object invoke(Object proxy, Method method, Object[] args)
           
 boolean isMappingType()
           
 boolean isNumberType()
           
 boolean isSequenceType()
           
 void setDict(PyObject value)
           
 void setFuncClosure(PyObject value)
           
 void setFuncCode(PyCode code)
           
 void setFuncDefaults(PyObject func_defaults)
           
 void setFuncDict(PyObject value)
           
 void setFuncDoc(PyObject func_doc)
           
 void setFuncGlobals(PyObject value)
           
 void setFuncName(PyString func_name)
           
 String toString()
           
 
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __int__, __invert__, __ior__, __ipow__, __irshift__, __isub__, __iter__, __iternext__, __itruediv__, __ixor__, __le__, __len__, __long__, __lshift__, __lt__, __mod__, __mul__, __ne__, __neg__, __nonzero__, __not__, __oct__, __or__, __pos__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, delType, dispatch__init__, equals, fastGetClass, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, noAttributeError, readonlyAttributeError, setType
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TYPE

public static final PyType TYPE

__name__

public String __name__
The writable name, also available via func_name.


__doc__

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


func_globals

public PyObject func_globals
The read only namespace; a dict (PyStringMap).


func_defaults

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


func_code

public PyCode func_code
The actual funtion's code, writable.


__dict__

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


func_closure

public PyObject func_closure
A read only closure tuple for nested scopes.


__module__

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

Constructor Detail

PyFunction

public PyFunction(PyObject globals,
                  PyObject[] defaults,
                  PyCode code,
                  PyObject doc,
                  PyObject[] closure_cells)

PyFunction

public PyFunction(PyObject globals,
                  PyObject[] defaults,
                  PyCode code,
                  PyObject doc)

PyFunction

public PyFunction(PyObject globals,
                  PyObject[] defaults,
                  PyCode code)

PyFunction

public PyFunction(PyObject globals,
                  PyObject[] defaults,
                  PyCode code,
                  PyObject[] closure_cells)
Method Detail

getFuncName

public PyString getFuncName()

setFuncName

public void setFuncName(PyString func_name)

getFuncDoc

public PyObject getFuncDoc()

setFuncDoc

public void setFuncDoc(PyObject func_doc)

delFuncDoc

public void delFuncDoc()

delDoc

public void delDoc()

getFuncDefaults

public PyObject getFuncDefaults()

setFuncDefaults

public void setFuncDefaults(PyObject func_defaults)

delFuncDefaults

public void delFuncDefaults()

setFuncCode

public void setFuncCode(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

setDict

public void setDict(PyObject value)
Overrides:
setDict in class PyObject

delDict

public void delDict()
Overrides:
delDict in class PyObject

getFuncDict

public PyObject getFuncDict()

setFuncDict

public void setFuncDict(PyObject value)

delFuncDict

public void delFuncDict()

setFuncGlobals

public void setFuncGlobals(PyObject value)

setFuncClosure

public void setFuncClosure(PyObject value)

__setattr__

public void __setattr__(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__(ThreadState state)
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__(ThreadState state,
                         PyObject arg0)
Overrides:
__call__ in class PyObject

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

__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__(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[] 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

__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

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

isMappingType

public boolean isMappingType()
Overrides:
isMappingType in class PyObject

isNumberType

public boolean isNumberType()
Overrides:
isNumberType in class PyObject

isSequenceType

public boolean isSequenceType()
Overrides:
isSequenceType in class PyObject


Jython homepage