30 using namespace QtJniTypes;
31 if (!object.isValid())
33 const QByteArray classname(object.className());
35 if (classname == Traits<String>::className())
36 return object.toString();
37 else if (classname == Traits<Integer>::className())
38 return object.callMethod<jint>(
"intValue");
39 else if (classname == Traits<Long>::className())
40 return QVariant::fromValue<
long>(object.callMethod<jlong>(
"longValue"));
41 else if (classname == Traits<Double>::className())
42 return object.callMethod<jdouble>(
"doubleValue");
43 else if (classname == Traits<Float>::className())
44 return object.callMethod<jfloat>(
"floatValue");
45 else if (classname == Traits<Boolean>::className())
46 return QVariant::fromValue<
bool>(object.callMethod<jboolean>(
"booleanValue"));
49 const jclass className = env.findClass(Traits<JQtAbstractItemModel>::className());
50 if (env->IsInstanceOf(object.object(), className))
51 return QVariant::fromValue(QAndroidItemModelProxy::createNativeProxy(object));