public class PyJavaType extends PyType
PyObject.ConversionException
base, bases, builtin, dict, instantiable, mro, name, needs_finalizer, needs_userdict, needs_weakref, TYPE, underlying_class
attributes, 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
PyObject s. |
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, unsupportedopMessage
public PyJavaType()
PyType.underlying_class
.)public static PyObject wrapJavaObject(java.lang.Object o)
protected boolean useMetatypeFirst(PyObject attr)
PyType
useMetatypeFirst
in class PyType
protected 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 PyJavaType
s of further non-PyObject bases into into
needsInners
, so that these may be processed later.
public int traverse(Visitproc visit, java.lang.Object arg)
Traverseproc
PyObject
s.
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 Traverseproc
traverse
in class PyType
public boolean refersDirectlyTo(PyObject ob) throws java.lang.UnsupportedOperationException
Traverseproc
Traverseproc.traverse(Visitproc, Object)
with
a visitproc that just watches out for ob
.
Must return false
if ob
is null
.refersDirectlyTo
in interface Traverseproc
refersDirectlyTo
in class PyType
java.lang.UnsupportedOperationException