org.python.core

Class PyClass

Implemented Interfaces:
java.io.Serializable
Known Direct Subclasses:
PyJavaClass

public class PyClass
extends PyObject

A python class.
See Also:
Serialized Form

Nested Class Summary

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

PyObject.ConversionException

Field Summary

PyTuple
__bases__
The base classes of this class
static PyClass
__class__
PyObject
__dict__
Holds the namespace for this class
String
__name__
The name of this class

Fields inherited from class org.python.core.PyObject

exposed_name

Constructor Summary

PyClass(String name, PyTuple bases, PyObject dict)
Create a python class.
PyClass(String name, PyTuple bases, PyObject dict, Class proxyClass)
Create a python class which inherits from a java class and where we already have generated a proxyclass.

Method Summary

PyObject
__call__(PyObject[] args, String[] keywords)
int
__cmp__(PyObject other)
Equivalent to the standard Python __cmp__ method.
void
__delattr__(String name)
A variant of the __delattr__ method which accepts a String as the key.
PyObject
__findattr__(String name)
A variant of the __findattr__ method which accepts a Java String as the name.
void
__rawdir__(PyDictionary accum)
void
__setattr__(String name, PyObject value)
A variant of the __setattr__ method which accepts a String as the key.
PyString
__str__()
Equivalent to the standard Python __str__ method.
Object
__tojava__(Class c)
Equivalent to the Jython __tojava__ method.
PyObject
fastGetDict()
xxx implements where meaningful
boolean
isSubClass(PyClass superclass)
String
safeRepr()
String
toString()

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

__bases__

public PyTuple __bases__
The base classes of this class

__class__

public static PyClass __class__

__dict__

public PyObject __dict__
Holds the namespace for this class

__name__

public String __name__
The name of this class

Constructor Details

PyClass

public PyClass(String name,
               PyTuple bases,
               PyObject dict)
Create a python class.
Parameters:
name - name of the class.
bases - A list of base classes.
dict - The class dict. Normally this dict is returned by the class code object.

PyClass

public PyClass(String name,
               PyTuple bases,
               PyObject dict,
               Class proxyClass)
Create a python class which inherits from a java class and where we already have generated a proxyclass. If we do not have a pre-generated proxyclass, the class initialization method will create such a proxyclass if bases contain a java class.
Parameters:
name - name of the class.
bases - A list of base classes.
dict - The class dict. Normally this dict is returned by the class code object.

Method Details

__call__

public PyObject __call__(PyObject[] args,
                         String[] keywords)

__cmp__

public int __cmp__(PyObject other)
Equivalent to the standard Python __cmp__ method.
Overrides:
__cmp__ in interface PyObject
Parameters:
other - the object to compare this with.
Returns:
-1 if this <320; 0 if this == o; +1 if this > o; -2 if no comparison is implemented

__delattr__

public void __delattr__(String name)
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 interface PyObject
Parameters:
name - the name which will be removed - must be an interned string .

__findattr__

public PyObject __findattr__(String name)
A variant of the __findattr__ method which accepts a Java String as the name. Warning: name must be an interned string!
Overrides:
__findattr__ in interface 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

__rawdir__

public void __rawdir__(PyDictionary accum)

__setattr__

public void __setattr__(String name,
                        PyObject value)
A variant of the __setattr__ method which accepts a String as the key. This String must be interned.
Overrides:
__setattr__ in interface PyObject
Parameters:
name - the name whose value will be set - must be an interned string .
value - the value to set this name to

__str__

public PyString __str__()
Equivalent to the standard Python __str__ method. This method should not typically need to be overridden. The easiest way to configure the string representation of a PyObject is to override the standard Java toString method.
Overrides:
__str__ in interface 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.

fastGetDict

public PyObject fastGetDict()
xxx implements where meaningful
Overrides:
fastGetDict in interface PyObject
Returns:
internal object per instance dict or null

isSubClass

public boolean isSubClass(PyClass superclass)

safeRepr

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

toString

public String toString()
Overrides:
toString in interface PyObject

Jython homepage