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 PyTypeTYPE-
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.PyString__repr__()Equivalent to the standard Python__repr__method.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.voiddelClosure()voiddelDefaults()voiddelDict()voiddelDoc()voiddelFuncClosure()Deprecated.voiddelFuncDefaults()Deprecated.voiddelFuncDict()Deprecated.voiddelFuncDoc()Deprecated.voiddelFuncGlobals()Deprecated.voiddelFuncName()Deprecated.voiddelGlobals()voiddelModule()voiddelName()PyObjectfastGetDict()xxx implements where meaningfulPyObjectgetDefaults()PyObjectgetDict()xxx implements where meaningfulPyObjectgetFuncClosure()Deprecated.PyCodegetFuncCode()Deprecated.PyObjectgetFuncDefaults()Deprecated.PyObjectgetFuncDict()Deprecated.PyObjectgetFuncDoc()Deprecated.PyObjectgetFuncGlobals()Deprecated.java.lang.StringgetFuncName()Deprecated.java.lang.Objectinvoke(java.lang.Object proxy, java.lang.reflect.Method method, java.lang.Object[] args)booleanisMappingType()booleanisNumberType()booleanisSequenceType()booleanrefersDirectlyTo(PyObject ob)Optional operation.voidsetClosure(PyObject value)voidsetCode(PyCode code)voidsetDefaults(PyObject func_defaults)voidsetDict(PyObject value)voidsetFuncClosure(PyObject value)Deprecated.voidsetFuncCode(PyCode code)Deprecated.voidsetFuncDefaults(PyObject func_defaults)Deprecated.voidsetFuncDict(PyObject value)Deprecated.voidsetFuncDoc(PyObject func_doc)Deprecated.voidsetFuncGlobals(PyObject value)Deprecated.voidsetFuncName(java.lang.String func_name)Deprecated.voidsetGlobals(PyObject value)voidsetName(java.lang.String func_name)java.lang.StringtoString()inttraverse(Visitproc visit, java.lang.Object arg)Traverses all directly containedPyObjects.-
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__, __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:PyObjectxxx implements where meaningful- Overrides:
fastGetDictin classPyObject- Returns:
- internal object per instance dict or null
-
getDict
public PyObject getDict()
Description copied from class:PyObjectxxx 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:PyObjectA 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:PyObjectGet 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:PyObjectA 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:PyObjectA 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:PyObjectA 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:PyObjectA 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:PyObjectA 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:PyObjectA 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:PyObjectThe 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:PyObjectA 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)
-
__repr__
public PyString __repr__()
Description copied from class:PyObjectEquivalent to the standard Python__repr__method. Each sub-class ofPyObjectis likely to re-define this method to provide for its own reproduction.
-
__tojava__
public java.lang.Object __tojava__(java.lang.Class<?> c)
Description copied from class:PyObjectEquivalent to the Jython __tojava__ method. Tries to coerce this object to an instance of the requested Java class. Returns the special objectPy.NoConversionif thisPyObjectcan not be converted to the desired Java class.- Overrides:
__tojava__in classPyObject- Parameters:
c- the Class to convert thisPyObjectto.
-
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:
invokein interfacejava.lang.reflect.InvocationHandler- Throws:
java.lang.Throwable
-
isMappingType
public boolean isMappingType()
- Overrides:
isMappingTypein classPyObject
-
isNumberType
public boolean isNumberType()
- Overrides:
isNumberTypein classPyObject
-
isSequenceType
public boolean isSequenceType()
- Overrides:
isSequenceTypein classPyObject
-
traverse
public int traverse(Visitproc visit, java.lang.Object arg)
Description copied from interface:TraverseprocTraverses all directly containedPyObjects. Like in CPython,argmust be passed unmodified tovisitas 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 anullPyObject-argument.- Specified by:
traversein interfaceTraverseproc
-
refersDirectlyTo
public boolean refersDirectlyTo(PyObject ob)
Description copied from interface:TraverseprocOptional operation. Should only be implemented if it is more efficient than callingTraverseproc.traverse(Visitproc, Object)with a visitproc that just watches out forob. Must returnfalseifobisnull.- Specified by:
refersDirectlyToin interfaceTraverseproc
-
-