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
ConstructorsConstructorDescriptionPyDataDescr(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.voidgetDoc()getName()Return the name this descriptor is exposed as.Return the owner class of this descriptor.voidgetset_descriptor___get__(PyObject obj, PyObject type) voidgetset_descriptor___set__(PyObject obj, PyObject value) voidinvokeDelete(PyObject obj) abstract ObjectvoidbooleanvoidSets the type the descriptor belongs to.toString()Methods inherited from class org.python.core.PyDescriptor
refersDirectlyTo, traverseMethods 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:PyObjectGet 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:
isDataDescrin 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
-