Package org.python.core
Class PyType
- java.lang.Object
-
- org.python.core.PyObject
-
- org.python.core.PyType
-
- All Implemented Interfaces:
java.io.Serializable
- Direct Known Subclasses:
PyTypeDerived
public class PyType extends PyObject implements java.io.Serializable
first-class Python type.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
PyType.Newstyle
-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
exposed_name
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description PyObject
__call__(PyObject[] args, java.lang.String[] keywords)
The basic method to override when implementing a callable object.void
__delattr__(java.lang.String name)
A variant of the __delattr__ method which accepts a String as the key.PyObject
__findattr__(java.lang.String name)
A variant of the __findattr__ method which accepts a JavaString
as the name.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
delBases()
void
delDict()
PyObject
fastGetDict()
xxx implements where meaningfuljava.lang.String
fastGetName()
static PyType
fromClass(java.lang.Class c)
PyObject
getBase()
PyObject
getBases()
PyObject
getDict()
xxx implements where meaningfuljava.lang.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 andother
are compatible.PyObject
lookup(java.lang.String name)
INTERNAL lookup for name through mro objects' dictsPyObject
lookup_where(java.lang.String name, PyObject[] where)
static PyObject
newType(PyNewWrapper new_, PyType metatype, java.lang.String name, PyTuple bases, PyObject dict)
java.lang.String
safeRepr()
void
setBases(PyObject newBasesTuple)
void
setDict(PyObject newDict)
PyObject
super_lookup(PyType ref, java.lang.String name)
java.lang.String
toString()
PyObject
type_getSubclasses()
static PyObject
type_new(PyNewWrapper new_, boolean init, PyType subtype, PyObject[] args, java.lang.String[] keywords)
static void
typeSetup(PyObject dict, PyType.Newstyle marker)
-
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __eq__, __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__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __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, delType, dispatch__init__, equals, fastGetClass, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError, setType
-
-
-
-
Field Detail
-
exposed_name
public static final java.lang.String exposed_name
- See Also:
- Constant Field Values
-
-
Method Detail
-
typeSetup
public static void typeSetup(PyObject dict, PyType.Newstyle marker)
-
type_new
public static PyObject type_new(PyNewWrapper new_, boolean init, PyType subtype, PyObject[] args, java.lang.String[] keywords)
-
getStatic
public PyObject getStatic()
-
layoutAligns
public boolean layoutAligns(PyType other)
Checks that the physical layout between this type andother
are compatible.
-
getBase
public PyObject getBase()
-
getBases
public PyObject getBases()
-
delBases
public void delBases()
-
setBases
public void setBases(PyObject newBasesTuple)
-
instDict
public PyObject instDict()
-
getMro
public PyTuple getMro()
-
type_getSubclasses
public final PyObject type_getSubclasses()
-
newType
public static PyObject newType(PyNewWrapper new_, PyType metatype, java.lang.String name, PyTuple bases, PyObject dict)
-
fastGetName
public java.lang.String fastGetName()
-
isSubType
public boolean isSubType(PyType supertype)
-
lookup
public PyObject lookup(java.lang.String name)
INTERNAL lookup for name through mro objects' dicts- Parameters:
name
- attribute name (must be interned)- Returns:
- found object or null
-
fromClass
public static PyType fromClass(java.lang.Class c)
-
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
- See Also:
PyObject.fastGetDict()
-
getDict
public PyObject getDict()
Description copied from class:PyObject
xxx implements where meaningful
-
__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.
-
getModule
public PyObject getModule()
-
getNumSlots
public int getNumSlots()
-
getFullName
public java.lang.String getFullName()
-
__findattr__
public PyObject __findattr__(java.lang.String name)
Description copied from class:PyObject
A variant of the __findattr__ method which accepts a JavaString
as the name. Warning: name must be an interned string!- Overrides:
__findattr__
in classPyObject
- Parameters:
name
- the name to lookup in this namespace must be an interned string .- Returns:
- the value corresponding to name or null if name is not found
- See Also:
PyObject.__findattr__(java.lang.String)
-
__delattr__
public void __delattr__(java.lang.String name)
Description copied from class:PyObject
A variant of the __delattr__ method which accepts a String as the key. This String must be interned. By default, this will call__delattr__(PyString name)
with the appropriate args. The only reason to override this method is for performance.- Overrides:
__delattr__
in classPyObject
- Parameters:
name
- the name which will be removed - must be an interned string .- See Also:
PyObject.__delattr__(java.lang.String)
-
__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__(java.lang.String, org.python.core.PyObject)
-
safeRepr
public java.lang.String safeRepr() throws PyIgnoreMethodTag
- Overrides:
safeRepr
in classPyObject
- Throws:
PyIgnoreMethodTag
- See Also:
PyObject.safeRepr()
-
__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.- Overrides:
__call__
in classPyObject
- Parameters:
args
- all arguments to the function (including keyword arguments).keywords
- the keywords used for all keyword arguments.- See Also:
PyObject.__call__(org.python.core.PyObject[], java.lang.String[])
-
-