org.python.core

Class PyType

Implemented Interfaces:
Serializable
Known Direct Subclasses:
PyTypeDerived

public class PyType
extends PyObject
implements Serializable

first-class Python type.
See Also:
Serialized Form

Nested Class Summary

static interface
PyType.Newstyle

Nested classes/interfaces inherited from class org.python.core.PyObject

PyObject.ConversionException

Field Summary

static String
exposed_name

Fields inherited from class org.python.core.PyObject

exposed_name

Method Summary

PyObject
__call__(PyObject[] args, String[] keywords)
void
__delattr__(String name)
PyObject
__findattr__(String name)
void
__setattr__(String name, PyObject value)
Object
__tojava__(Class c)
Equivalent to the Jython __tojava__ method.
void
delBases()
void
delDict()
PyObject
fastGetDict()
String
fastGetName()
static PyType
fromClass(Class c)
PyObject
getBase()
PyObject
getBases()
PyObject
getDict()
xxx implements where meaningful
String
getFullName()
PyObject
getModule()
PyTuple
getMro()
int
getNumSlots()
PyObject
getStatic()
PyObject
instDict()
boolean
isSubType(PyType supertype)
boolean
layoutAligns(PyType other)
Checks that the physical layout between this type and other are compatible.
PyObject
lookup(String name)
INTERNAL lookup for name through mro objects' dicts
PyObject
lookup_where(String name, PyObject[] where)
static PyObject
newType(PyNewWrapper new_, PyType metatype, String name, PyTuple bases, PyObject dict)
String
safeRepr()
void
setBases(PyObject newBasesTuple)
void
setDict(PyObject newDict)
PyObject
super_lookup(PyType ref, String name)
String
toString()
static void
typeSetup(PyObject dict, PyType.Newstyle marker)
PyObject
type_getSubclasses()
static PyObject
type_new(PyNewWrapper new_, boolean init, PyType subtype, PyObject[] args, String[] keywords)

Methods inherited from class org.python.core.PyObject

__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __ge__, __get__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __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__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _in, _is, _isnot, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asInt, asLong, asName, asString, asStringOrNull, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, safeRepr, setDict, setType, toString, typeSetup

Field Details

exposed_name

public static final String exposed_name

Method Details

__call__

public PyObject __call__(PyObject[] args,
                         String[] keywords)
See Also:
org.python.core.PyObject.__call__(org.python.core.PyObject[], java.lang.String[])

__delattr__

public void __delattr__(String name)
Overrides:
__delattr__ in interface PyObject
See Also:
org.python.core.PyObject.__delattr__(java.lang.String)

__findattr__

public PyObject __findattr__(String name)
Overrides:
__findattr__ in interface PyObject
See Also:
org.python.core.PyObject.__findattr__(java.lang.String)

__setattr__

public void __setattr__(String name,
                        PyObject value)
Overrides:
__setattr__ in interface PyObject
See Also:
org.python.core.PyObject.__setattr__(java.lang.String, org.python.core.PyObject)

__tojava__

public Object __tojava__(Class c)
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 interface PyObject
Parameters:
c - the Class to convert this PyObject to.

delBases

public void delBases()

delDict

public void delDict()
Overrides:
delDict in interface PyObject

fastGetDict

public PyObject fastGetDict()
Overrides:
fastGetDict in interface PyObject

fastGetName

public String fastGetName()

fromClass

public static PyType fromClass(Class c)

getBase

public PyObject getBase()

getBases

public PyObject getBases()

getDict

public PyObject getDict()
xxx implements where meaningful
Overrides:
getDict in interface PyObject
Returns:
internal object __dict__ or null

getFullName

public String getFullName()

getModule

public PyObject getModule()

getMro

public PyTuple getMro()

getNumSlots

public int getNumSlots()

getStatic

public PyObject getStatic()

instDict

public PyObject instDict()

isSubType

public boolean isSubType(PyType supertype)

layoutAligns

public boolean layoutAligns(PyType other)
Checks that the physical layout between this type and other are compatible.

lookup

public PyObject lookup(String name)
INTERNAL lookup for name through mro objects' dicts
Parameters:
name - attribute name (must be interned)
Returns:
found object or null

lookup_where

public PyObject lookup_where(String name,
                             PyObject[] where)

newType

public static PyObject newType(PyNewWrapper new_,
                               PyType metatype,
                               String name,
                               PyTuple bases,
                               PyObject dict)

safeRepr

public String safeRepr()
            throws PyIgnoreMethodTag
Overrides:
safeRepr in interface PyObject

setBases

public void setBases(PyObject newBasesTuple)

setDict

public void setDict(PyObject newDict)
Overrides:
setDict in interface PyObject

super_lookup

public PyObject super_lookup(PyType ref,
                             String name)

toString

public String toString()
Overrides:
toString in interface PyObject

typeSetup

public static void typeSetup(PyObject dict,
                             PyType.Newstyle marker)
Overrides:
typeSetup in interface PyObject

type_getSubclasses

public final PyObject type_getSubclasses()

type_new

public static PyObject type_new(PyNewWrapper new_,
                                boolean init,
                                PyType subtype,
                                PyObject[] args,
                                String[] keywords)

Jython homepage