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 interfacePyType.Newstyle-
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Stringexposed_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 JavaStringas 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.voiddelBases()voiddelDict()PyObjectfastGetDict()xxx implements where meaningfuljava.lang.StringfastGetName()static PyTypefromClass(java.lang.Class c)PyObjectgetBase()PyObjectgetBases()PyObjectgetDict()xxx implements where meaningfuljava.lang.StringgetFullName()PyObjectgetModule()PyTuplegetMro()intgetNumSlots()PyObjectgetStatic()PyObjectinstDict()booleanisSubType(PyType supertype)booleanlayoutAligns(PyType other)Checks that the physical layout between this type andotherare compatible.PyObjectlookup(java.lang.String name)INTERNAL lookup for name through mro objects' dictsPyObjectlookup_where(java.lang.String name, PyObject[] where)static PyObjectnewType(PyNewWrapper new_, PyType metatype, java.lang.String name, PyTuple bases, PyObject dict)java.lang.StringsafeRepr()voidsetBases(PyObject newBasesTuple)voidsetDict(PyObject newDict)PyObjectsuper_lookup(PyType ref, java.lang.String name)java.lang.StringtoString()PyObjecttype_getSubclasses()static PyObjecttype_new(PyNewWrapper new_, boolean init, PyType subtype, PyObject[] args, java.lang.String[] keywords)static voidtypeSetup(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 andotherare 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:PyObjectxxx implements where meaningful- Overrides:
fastGetDictin classPyObject- Returns:
- internal object per instance dict or null
- See Also:
PyObject.fastGetDict()
-
getDict
public PyObject getDict()
Description copied from class:PyObjectxxx implements where meaningful
-
__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.
-
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:PyObjectA variant of the __findattr__ method which accepts a JavaStringas 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:PyObjectA 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: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__(java.lang.String, org.python.core.PyObject)
-
safeRepr
public java.lang.String safeRepr() throws PyIgnoreMethodTag- Overrides:
safeReprin classPyObject- Throws:
PyIgnoreMethodTag- See Also:
PyObject.safeRepr()
-
__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.- 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[])
-
-