public class PyJavaType extends PyType
PyObject.ConversionExceptionbase, bases, builtin, dict, instantiable, mro, name, needs_finalizer, needs_userdict, needs_weakref, TYPE, underlying_classattributes, gcMonitorGlobal, objtype| Constructor and Description |
|---|
PyJavaType()
Create a Python type for a Java class that does not descend from PyObject.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
init(java.util.Set<PyJavaType> needsInners)
Complete the initialisation of the
PyType for non-exposed PyObject
or any other Java class for which we need a Python type object. |
boolean |
refersDirectlyTo(PyObject ob)
Optional operation.
|
int |
traverse(Visitproc visit,
java.lang.Object arg)
Traverses all directly contained
PyObjects. |
protected boolean |
useMetatypeFirst(PyObject attr)
Returns true if the given attribute retrieved from an object's metatype should be used before
looking for the object on the actual object.
|
static PyObject |
wrapJavaObject(java.lang.Object o) |
__call__, __delattr__, __findattr_ex__, __rawdir__, __setattr__, __tojava__, addBuilder, addMethod, checkDelattr, compatibleForAssignment, computeLinearMro, delBases, delDict, delModule, ensureBootstrapped, ensureDoc, ensureModule, fastGetDict, fastGetName, fromClass, fromClass, getAbstractmethods, getBase, getBases, getDict, getDoc, getFlags, getModule, getMro, getName, getNumSlots, getProxyType, getStatic, instDict, invalidateMethodCache, isSubType, lookup_mro, lookup_where_mro, lookup_where, lookup, needsFinalizer, newType, noAttributeError, pyDelName, pyGetName, pySetName, removeMethod, richCompare, setAbstractmethods, setBases, setDict, setName, super_lookup, toString, type___eq__, type___ge__, type___gt__, type___instancecheck__, type___le__, type___lt__, type___ne__, type___subclasscheck__, type___subclasses__, writeReplace__abs__, __add__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __cmp__, __coerce__, __coerce_ex__, __complex__, __contains__, __delattr__, __delete__, __delitem__, __delitem__, __delslice__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __eq__, __findattr__, __findattr__, __finditem__, __finditem__, __finditem__, __float__, __floordiv__, __format__, __ge__, __get__, __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__, __set__, __setattr__, __setitem__, __setitem__, __setitem__, __setslice__, __setslice__, __str__, __sub__, __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, _unsupportedop, _xor, adaptToCoerceTuple, asDouble, asIndex, asIndex, asInt, asInt, asIterable, asLong, asLong, asName, asName, asString, asString, asStringOrNull, asStringOrNull, bit_length, conjugate, delType, dispatch__init__, equals, fastGetClass, finalize, getJavaProxy, getType, hashCode, impAttr, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, isMappingType, isNumberType, isSequenceType, mergeClassDict, mergeDictAttr, mergeListAttr, object___subclasshook__, readonlyAttributeError, runsupportedopMessage, setType, unsupportedopMessagepublic PyJavaType()
PyType.underlying_class.)public static PyObject wrapJavaObject(java.lang.Object o)
protected boolean useMetatypeFirst(PyObject attr)
PyTypeuseMetatypeFirst in class PyTypeprotected void init(java.util.Set<PyJavaType> needsInners)
PyType for non-exposed PyObject
or any other Java class for which we need a Python type object. This call will
fill PyType.dict, PyType.name and all other descriptive state using characteristics of
the class obtained by reflection.
Where the class is not a PyObject at all, the method registers all the "visible
bases" (according to Java) of the class represented, which will result in further calls to
register their visible bases in turn. In the process, this method, recursively, saves this
and the PyJavaTypes of further non-PyObject bases into into
needsInners, so that these may be processed later.
public int traverse(Visitproc visit, java.lang.Object arg)
TraverseprocPyObjects.
Like in CPython, arg must be passed
unmodified to visit as its second parameter.
If Visitproc.visit(PyObject, Object) returns
nonzero, this return value
must be returned immediately by traverse.
Visitproc.visit(PyObject, Object) must not be
called with a null PyObject-argument.traverse in interface Traverseproctraverse in class PyTypepublic boolean refersDirectlyTo(PyObject ob) throws java.lang.UnsupportedOperationException
TraverseprocTraverseproc.traverse(Visitproc, Object) with
a visitproc that just watches out for ob.
Must return false if ob is null.refersDirectlyTo in interface TraverseprocrefersDirectlyTo in class PyTypejava.lang.UnsupportedOperationException