Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #8520

Re: JNI generic type of jobject

From Philipp Kraus <philipp.kraus@flashpixx.de>
Newsgroups comp.lang.java.programmer
Subject Re: JNI generic type of jobject
Date 2011-10-04 14:49 +0200
Organization 1&1 Internet AG
Message-ID <j6evbu$mmq$1@online.de> (permalink)
References <j6etsu$lkf$1@online.de> <4e8afbde$0$2529$e4fe514c@news2.news.xs4all.nl>

Show all headers | View raw


On 2011-10-04 14:28:14 +0200, Silvio said:

> On 10/04/2011 02:23 PM, Philipp Kraus wrote:
>> Hello,
>> 
>> I use JNI calls for some Java classes. Some Java classes are generic
>> classes like:
>> 
>> class mytestclass<T> {
>> 
>> public native void mymethod();
>> 
>> }
>> 
>> The stub shows:
>> 
>> JNIEXPORT void JNICALL Java_mytestclass_mymethod(JNIEnv* p_env, jobject
>> p_object)
>> 
>> How can I get from the jobject which object type is the generic
>> parameter T? Because I would
>> like to create different codes if I do something like:
>> 
>> mytestclass<int> x = new mytestclass<int>();
>> x.mymethod();
>> 
>> mytestclass<String> x = new mytestclass<String>();
>> x.mymethod();
>> 
>> Thanks
>> 
>> Phil
>> 
>> 
> 
> No such thing is possible. Generics are a compile time thing. At 
> runtime only the raw types are available.

Why? jobject is a pointer to the Java object that calls the JNI 
function, JNIEnv is also a pointer to the running
environment, so I should get the type of the generic parameter, because 
the runtime / object knows them
so within the JNI call the parameter must exists.

I can also run in the Java class T.getClass().getName() and the Java 
code returns the name of the type
the JNI call should do the same like  JNIEnv->GetObjectClass( 
jobject.getTemplateVar(0) ) but I need
the name / call of the "getTemplateVar(int)" function which gets an 
object to the first template parameter
of the Java object

Thanks

Phil

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

JNI generic type of jobject Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-10-04 14:23 +0200
  Re: JNI generic type of jobject Silvio <silvio@moc.com> - 2011-10-04 14:28 +0200
    Re: JNI generic type of jobject Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-10-04 14:49 +0200
    Re: JNI generic type of jobject Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-10-04 07:53 -0700
      Re: JNI generic type of jobject Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-10-04 18:01 +0200
      Re: JNI generic type of jobject Lew <lewbloch@gmail.com> - 2011-10-04 12:01 -0700
        Re: JNI generic type of jobject Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2011-10-04 12:15 -0700

csiph-web