Package org.python.core
Class PyDataDescr
java.lang.Object
org.python.core.PyObject
org.python.core.PyDescriptor
org.python.core.PyDataDescr
- All Implemented Interfaces:
Serializable
,Traverseproc
Implements type checking and return type coercion for a data descriptor. A
subclass must at least implement invokeGet which is called in __get__
operations. If the descriptor supports setting and deleting, the subclass
must also override invokeSet and invokeDel respectively. When implementing
those methods, their respective implementsDescr* methods should be overriden
as well.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.python.core.PyObject
PyObject.ConversionException
-
Field Summary
Fields inherited from class org.python.core.PyObject
gcMonitorGlobal, TYPE
-
Constructor Summary
ConstructorDescriptionPyDataDescr
(String name, Class ofType, String doc) This constructor does not initialize the type the descriptor belongs to. setType must be called before this descriptor can be used.PyDataDescr
(PyType onType, String name, Class ofType, String doc) -
Method Summary
Modifier and TypeMethodDescriptionvoid
__delete__
(PyObject obj) Get descriptor for this PyObject.void
getDoc()
getName()
Return the name this descriptor is exposed as.Return the owner class of this descriptor.void
getset_descriptor___get__
(PyObject obj, PyObject type) void
getset_descriptor___set__
(PyObject obj, PyObject value) void
invokeDelete
(PyObject obj) abstract Object
void
boolean
void
Sets the type the descriptor belongs to.toString()
Methods inherited from class org.python.core.PyDescriptor
refersDirectlyTo, traverse
Methods inherited from class org.python.core.PyObject
__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delattr__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __getattr__, __getattr__, __getitem__, __getitem__, __getnewargs__, __getslice__, __getslice__, __gt__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __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__, __reduce_ex__, __reduce_ex__, __repr__, __rfloordiv__, __rlshift__, __rmod__, __rmul__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __setattr__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __tojava__, __truediv__, __trunc__, __unicode__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, hashCode, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict
-
Constructor Details
-
PyDataDescr
- Parameters:
onType
- - the type the descriptor belongs toname
- - the name of the descriptor on descriptor typeofType
- - the type returned by the descriptor
-
PyDataDescr
This constructor does not initialize the type the descriptor belongs to. setType must be called before this descriptor can be used.- Parameters:
name
- - the name of the descriptor on descriptor typeofType
- - the type returned by the descriptor
-
-
Method Details
-
setType
Sets the type the descriptor belongs to. -
__get__
Description copied from class:PyObject
Get descriptor for this PyObject.- Overrides:
__get__
in classPyObject
- Parameters:
obj
- - the instance accessing this descriptor. Can be null if this is being accessed by a type.type
- - the type accessing this descriptor. Will be null if obj exists as obj is of the type accessing the descriptor.- Returns:
- - the object defined for this descriptor for the given obj and type.
-
getset_descriptor___get__
-
invokeGet
-
__set__
-
getset_descriptor___set__
-
invokeSet
-
__delete__
- Overrides:
__delete__
in classPyObject
-
getset_descriptor___delete__
-
invokeDelete
-
isDataDescr
public boolean isDataDescr()- Overrides:
isDataDescr
in classPyObject
-
toString
-
getDoc
-
getName
Return the name this descriptor is exposed as.- Returns:
- a name String
-
getObjClass
Return the owner class of this descriptor.- Returns:
- this descriptor's owner
-