org.python.core
Class PyType

java.lang.Object
  extended byorg.python.core.PyObject
      extended byorg.python.core.PyType
All Implemented Interfaces:
java.io.Serializable

public class PyType
extends PyObject

first-class Python type.

See Also:
Serialized Form

Nested Class Summary
static interface PyType.Newstyle
           
 
Nested classes inherited from class org.python.core.PyObject
PyObject.ConversionException
 
Field Summary
static java.lang.String exposed_name
           
 
Method Summary
 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 Java String 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.
 PyObject fastGetDict()
          xxx implements where meaningful
 java.lang.String fastGetName()
           
static PyType fromClass(java.lang.Class c)
           
 PyObject getBase()
           
 PyObject getBases()
           
 PyObject getDict()
          xxx implements where meaningful
 java.lang.String getFullName()
           
 PyObject getModule()
           
 PyObject getStatic()
           
 PyObject instDict()
           
 boolean isSubType(PyType supertype)
           
 PyObject lookup(java.lang.String name)
          INTERNAL lookup for name through mro objects' dicts
static PyObject newType(PyObject new_, PyType metatype, java.lang.String name, PyTuple bases, PyObject dict)
           
 java.lang.String safeRepr()
           
 PyObject super_lookup(PyType ref, java.lang.String name)
           
 java.lang.String toString()
           
 PyObject type_getSubclasses()
           
static PyObject type_new(PyObject 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__, __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__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __truediv__, __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, dispatch__init__, equals, fastGetClass, getDoc, getType, hashCode, implementsDescrDelete, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isMappingType, isNumberType, isSequenceType, noAttributeError, readonlyAttributeError
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

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(PyObject new_,
                                boolean init,
                                PyType subtype,
                                PyObject[] args,
                                java.lang.String[] keywords)

getStatic

public PyObject getStatic()

getBase

public PyObject getBase()

getBases

public PyObject getBases()

instDict

public PyObject instDict()

type_getSubclasses

public final PyObject type_getSubclasses()

newType

public static PyObject newType(PyObject 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

super_lookup

public PyObject super_lookup(PyType ref,
                             java.lang.String name)

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 class PyObject
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

Overrides:
getDict in class PyObject
Returns:
internal object __dict__ or null

__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 object Py.NoConversion if this PyObject can not be converted to the desired Java class.

Overrides:
__tojava__ in class PyObject
Parameters:
c - the Class to convert this PyObject to.

getModule

public PyObject getModule()

getFullName

public java.lang.String getFullName()

toString

public java.lang.String toString()
Overrides:
toString in class PyObject

__findattr__

public PyObject __findattr__(java.lang.String name)
Description copied from class: PyObject
A variant of the __findattr__ method which accepts a Java String as the name. By default, this method will call __findattr__(PyString name) with the appropriate args. The only reason to override this method is for performance. Warning: name must be an interned string!!!!!!!!

Overrides:
__findattr__ in class PyObject
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 class PyObject
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 class PyObject
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 class PyObject
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 class PyObject
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[])


Jython homepage