public class PyType extends PyObject implements Serializable
PyObject.ConversionException| Modifier and Type | Method and Description |
|---|---|
PyObject |
__call__(PyObject[] args,
String[] keywords)
The basic method to override when implementing a callable object.
|
void |
__delattr__(String name)
A variant of the __delattr__ method which accepts a String
as the key.
|
PyObject |
__findattr_ex__(String name)
Attribute lookup hook.
|
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.
|
static void |
addBuilder(Class<?> forClass,
org.python.expose.TypeBuilder builder) |
void |
addMethod(PyBuiltinMethod meth)
Adds the given method to this type's dict under its name in its descriptor.
|
void |
compatibleForAssignment(PyType other,
String attribute)
Ensures that the physical layout between this type and
other are compatible. |
void |
delBases() |
void |
delDict() |
void |
delModule() |
static void |
ensureDoc(PyObject dict)
Ensure dict contains a __doc__.
|
static void |
ensureModule(PyObject dict)
Ensure dict contains a __module__, retrieving it from the current frame if it
doesn't exist.
|
PyObject |
fastGetDict()
Returns the actual dict underlying this type instance.
|
String |
fastGetName() |
static PyType |
fromClass(Class<?> c) |
static PyType |
fromClass(Class<?> c,
boolean hardRef) |
PyObject |
getAbstractmethods() |
PyObject |
getBase() |
PyObject |
getBases() |
PyObject |
getDict()
xxx implements where meaningful
|
PyObject |
getDoc()
Equivalent of CPython's typeobject.c::type_get_doc; handles __doc__ descriptors.
|
PyLong |
getFlags() |
PyObject |
getModule() |
PyTuple |
getMro() |
String |
getName() |
int |
getNumSlots() |
Class<?> |
getProxyType()
Returns the Java Class that this type inherits from, or null if this type is Python-only.
|
PyObject |
getStatic() |
PyObject |
instDict() |
boolean |
isSubType(PyType supertype) |
PyObject |
lookup_where(String name,
PyObject[] where)
Attribute lookup for name through mro objects' dicts.
|
PyObject |
lookup(String name)
Attribute lookup for name through mro objects' dicts.
|
static PyObject |
newType(PyNewWrapper new_,
PyType metatype,
String name,
PyTuple bases,
PyObject dict) |
void |
noAttributeError(String name)
Raises AttributeError on type objects.
|
void |
pyDelName() |
PyObject |
pyGetName() |
void |
pySetName(PyObject name) |
void |
removeMethod(PyBuiltinMethod meth)
Removes the given method from this type's dict or raises a KeyError.
|
void |
setAbstractmethods(PyObject value) |
void |
setBases(PyObject newBasesTuple) |
void |
setDict(PyObject newDict) |
void |
setName(String name) |
PyObject |
super_lookup(PyType ref,
String name) |
String |
toString() |
PyObject |
type___eq__(PyObject other) |
PyObject |
type___ge__(PyObject other) |
PyObject |
type___gt__(PyObject other) |
PyObject |
type___le__(PyObject other) |
PyObject |
type___lt__(PyObject other) |
PyObject |
type___ne__(PyObject other) |
PyObject |
type___subclasses__() |
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __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, isMappingType, isNumberType, isSequenceType, object___subclasshook__, readonlyAttributeError, setTypepublic static PyType TYPE
public static PyObject newType(PyNewWrapper new_, PyType metatype, String name, PyTuple bases, PyObject dict)
public static void ensureDoc(PyObject dict)
dict - a PyObject mappingpublic static void ensureModule(PyObject dict)
dict - a PyObject mappingpublic PyObject getStatic()
public void compatibleForAssignment(PyType other, String attribute)
other are compatible.
Raises a TypeError if not.public PyObject getBase()
public PyObject getBases()
public void delBases()
public void setBases(PyObject newBasesTuple)
public PyObject instDict()
public PyTuple getMro()
public PyLong getFlags()
public final PyObject type___subclasses__()
public Class<?> getProxyType()
public boolean isSubType(PyType supertype)
public PyObject lookup(String name)
name - attribute name (must be interned)public PyObject lookup_where(String name, PyObject[] where)
name - attribute name (must be interned)where - Where in the mro the attribute was found is written to index 0public static void addBuilder(Class<?> forClass, org.python.expose.TypeBuilder builder)
public PyObject __findattr_ex__(String name)
PyObjectPyObject.__getattr__(String) or
PyObject.__findattr__(String). Both methods have a clear policy for
failed lookups.__findattr_ex__ in class PyObjectpublic void __setattr__(String name, PyObject value)
PyObject__setattr__ in class PyObjectname - the name whose value will be set -
must be an interned string .value - the value to set this name toPyObject.__setattr__(PyString, PyObject)public void addMethod(PyBuiltinMethod meth)
public void removeMethod(PyBuiltinMethod meth)
public void __delattr__(String name)
PyObject__delattr__(PyString name)
with the appropriate args.
The only reason to override this method is for performance.__delattr__ in class PyObjectname - the name which will be removed -
must be an interned string .PyObject.__delattr__(PyString)public PyObject __call__(PyObject[] args, String[] keywords)
PyObjectpublic String fastGetName()
public PyObject pyGetName()
public String getName()
public void pySetName(PyObject name)
public void setName(String name)
public void pyDelName()
public PyObject fastGetDict()
addMethod(org.python.core.PyBuiltinMethod) and removeMethod(org.python.core.PyBuiltinMethod), or unexpected mro errors can occur.fastGetDict in class PyObjectpublic PyObject getDict()
PyObjectpublic PyObject getDoc()
public Object __tojava__(Class<?> c)
PyObjectPy.NoConversion
if this PyObject can not be converted to the
desired Java class.__tojava__ in class PyObjectc - the Class to convert this PyObject to.public PyObject getModule()
public void delModule()
public PyObject getAbstractmethods()
public void setAbstractmethods(PyObject value)
public int getNumSlots()
public void noAttributeError(String name)
noAttributeError in class PyObject