Package org.python.core
Class PyFunction
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description PyObject
__closure__
A read only closure tuple for nested scopes.PyCode
__code__
The actual function's code, writable.PyObject[]
__defaults__
Default argument values for associated kwargs.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
__globals__
The read only namespace; a dict (PyStringMap).PyObject
__module__
Writable object describing what module this function belongs to.java.lang.String
__name__
The writable name, also available via func_name.static PyType
TYPE
-
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal
-
-
Constructor Summary
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description 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, java.lang.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, java.lang.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, java.lang.String[] keywords)
PyObject
__call__(ThreadState state, PyObject arg0, PyObject arg1)
PyObject
__call__(ThreadState state, PyObject arg1, PyObject[] args, java.lang.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__(java.lang.String name, PyObject value)
A variant of the __setattr__ method which accepts a String as the key.java.lang.Object
__tojava__(java.lang.Class<?> c)
Equivalent to the Jython __tojava__ method.void
delClosure()
void
delDefaults()
void
delDict()
void
delDoc()
void
delFuncClosure()
Deprecated.void
delFuncDefaults()
Deprecated.void
delFuncDict()
Deprecated.void
delFuncDoc()
Deprecated.void
delFuncGlobals()
Deprecated.void
delFuncName()
Deprecated.void
delGlobals()
void
delModule()
void
delName()
PyObject
fastGetDict()
xxx implements where meaningfulPyObject
getDefaults()
PyObject
getDict()
xxx implements where meaningfulPyObject
getFuncClosure()
Deprecated.PyCode
getFuncCode()
Deprecated.PyObject
getFuncDefaults()
Deprecated.PyObject
getFuncDict()
Deprecated.PyObject
getFuncDoc()
Deprecated.PyObject
getFuncGlobals()
Deprecated.java.lang.String
getFuncName()
Deprecated.java.lang.Object
invoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)
boolean
isMappingType()
boolean
isNumberType()
boolean
isSequenceType()
boolean
refersDirectlyTo(PyObject ob)
Optional operation.void
setClosure(PyObject value)
void
setCode(PyCode code)
void
setDefaults(PyObject func_defaults)
void
setDict(PyObject value)
void
setFuncClosure(PyObject value)
Deprecated.void
setFuncCode(PyCode code)
Deprecated.void
setFuncDefaults(PyObject func_defaults)
Deprecated.void
setFuncDict(PyObject value)
Deprecated.void
setFuncDoc(PyObject func_doc)
Deprecated.void
setFuncGlobals(PyObject value)
Deprecated.void
setFuncName(java.lang.String func_name)
Deprecated.void
setGlobals(PyObject value)
void
setName(java.lang.String func_name)
java.lang.String
toString()
int
traverse(Visitproc visit, java.lang.Object arg)
Traverses all directly containedPyObject
s.-
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__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __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__, __trunc__, __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, bit_length, conjugate, delType, dispatch__init__, equals, fastGetClass, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, noAttributeError, object___subclasshook__, readonlyAttributeError, setType
-
-
-
-
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 classPyObject
- Returns:
- internal object per instance dict or null
-
getDict
public PyObject getDict()
Description copied from class:PyObject
xxx implements where meaningful
-
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 classPyObject
- 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 classPyObject
- 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.
-
__call__
public PyObject __call__(ThreadState state)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject arg0)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject arg0, PyObject arg1, PyObject arg2, PyObject arg3)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject[] args)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject[] args, java.lang.String[] keywords)
-
__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.
-
__call__
public PyObject __call__(ThreadState state, PyObject arg1, PyObject[] args, java.lang.String[] keywords)
-
__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 objectPy.NoConversion
if thisPyObject
can not be converted to the desired Java class.- Overrides:
__tojava__
in classPyObject
- Parameters:
c
- the Class to convert thisPyObject
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 interfacejava.lang.reflect.InvocationHandler
- Throws:
java.lang.Throwable
-
isMappingType
public boolean isMappingType()
- Overrides:
isMappingType
in classPyObject
-
isNumberType
public boolean isNumberType()
- Overrides:
isNumberType
in classPyObject
-
isSequenceType
public boolean isSequenceType()
- Overrides:
isSequenceType
in classPyObject
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:Traverseproc
Traverses all directly containedPyObject
s. Like in CPython,arg
must be passed unmodified tovisit
as its second parameter. IfVisitproc.visit(PyObject, Object)
returns nonzero, this return value must be returned immediately by traverse.Visitproc.visit(PyObject, Object)
must not be called with anull
PyObject-argument.- Specified by:
traverse
in interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
Description copied from interface:Traverseproc
Optional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)
with a visitproc that just watches out forob
. Must returnfalse
ifob
isnull
.- Specified by:
refersDirectlyTo
in interfaceTraverseproc
-
-