Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

java.lang.reflect

[es] :: Java :: java.lang.reflect

[ Pregleda: 3381 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon java.lang.reflect04.10.2007. u 14:27 - pre 201 meseci
Hi,

Imam problem sa java reflectionom - kod je slijedeći:

public static void CxTransferOfOwnershipMethod(String bubica){
try {

Class classDefinitionDummy = Class.forName("bumbar.mile.adapter.PrviAdapter");

java.lang.Object dummyCMSFile = classDefinitionDummy.newInstance();

Class[] parameterTypes = new Class[] {String.class};
System.out.println("test_MetodaDeklinacije4 + parameterTypes:" + parameterTypes.getClass().getName());
System.out.println("test_MetodaDeklinacije4 + parameterTypes:" + parameterTypes.toString());
Method MetodaDeklinacijePoziv = dummyCMSFile.getClass().getMethod("MetodaDeklinacije", parameterTypes); // ime metode koju se poziva

System.out.println("test_MetodaDeklinacije5");

java.lang.Object [] callArguments = {bubica}; // kreiranje parametara

System.out.println("test_MetodaDeklinacije6: " + methDescriptor + " | " + bubica);
System.out.println("test_MetodaDeklinacije6ipo: " + classDefinitionDummy.getClass().getName() + " | callArguments " +

String.valueOf(callArguments.getClass().getName()));

testCMS.invoke(classDefinitionDummy, callArguments);

System.out.println("test_CMS7: " + MetodaDeklinacijePoziv .getClass().getName() + " | " + callArguments.toString());


} catch (Exception e) {
System.out.println("1: "+e);
System.out.println("getStackTrace: "+e.getStackTrace());
System.out.println("getMessage: "+e.getMessage());
System.out.println("getCause: "+e.getCause());
System.out.println("getMessage: "+e.getMessage());
}
}

Greška je: object is not an instance of declaring class

test_MetodaDeklinacije4 + parameterTypes:[Ljava.lang.Class;
test_MetodaDeklinacije4 + parameterTypes:[Ljava.lang.Class;@260829
test_MetodaDeklinacije5
test_MetodaDeklinacije6: at.siemens.servicexpress.sxfw.idl.FwOrbExt.FwMethDescriptor@e1fb6c | 60222222239
test_MetodaDeklinacije6ipo: java.lang.Class | callArguments [Ljava.lang.Object;

1: java.lang.IllegalArgumentException: object is not an instance of declaring class
getStackTrace: [Ljava.lang.StackTraceElement;@d622e5
getMessage: object is not an instance of declaring class
getCause: null
getMessage: object is not an instance of declaring class


Ima li netko možda iskustva sa ovakvim problemima?

Hvala Unaprijed


 
Odgovor na temu

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon Re: java.lang.reflect04.10.2007. u 14:45 - pre 201 meseci
U biti, ako netko zna kako da najjednostavnije proslijedim string bez puno filozofije :)

Gledajući po nekim forumima, ovaj gornji kod bi trebao raditi.

Pitao bih na sun-ovom forumu, ali ne mogu kreirati acc...
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.cisco.com.



+8 Profil

icon Re: java.lang.reflect04.10.2007. u 15:08 - pre 201 meseci
Rado bih ti pomogla, ali kod koji si prilozio je nedovoljan.

Sta je testCMS? Pretpostavljam da je u pitanju metod koji zelis da pozoves. Kako si ga dobio? Da li je to staticki metod?

Ako metod nije staticki, moras ga pozvati nad instancom klase, a ne nad samom klasom.

mojMetod.invoke(instancaMojeKlase, argumenti);

Ako je staticki, tada ga pozivas nad klasom:

mojMetod.invoke(mojaKlasa, argumenti);



If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon Re: java.lang.reflect04.10.2007. u 15:11 - pre 201 meseci

Hi, sorry,

mijenjao sam nazive pa sam ovo izostavio:

testCMS je MetodaDeklinacijePoziv znači instanca.

 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.cisco.com.



+8 Profil

icon Re: java.lang.reflect04.10.2007. u 15:37 - pre 201 meseci

Da li je MetodaDeklinacije staticka metoda?
Ako nije staticka, treba da je pozoves nad instancom te klase.

testCMS.invoke(dummyCMSFile, callArguments);
If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.cisco.com.



+8 Profil

icon Re: java.lang.reflect04.10.2007. u 15:38 - pre 201 meseci
I jedna molbica:
Nazivi varijabli i metoda treba da pocinju malim slovom!! :)






[Ovu poruku je menjao sanchi dana 04.10.2007. u 18:27 GMT+1]
If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon Re: java.lang.reflect04.10.2007. u 16:02 - pre 201 meseci

heeehehe :)) (to je za nazive metoda :), pišem, ali sam morao mjenjati izvorni kod... da ne bude... :)) )

Kad ju pozovem sa instance onda dobijem:

java.lang.reflect.InvocationTargetException

getStackTrace: [Ljava.lang.StackTraceElement;@1499616
getMessage: null
getCause: java.lang.NullPointerException
getMessage: null

I tražio sam na netu rješenje ovog errora, ali nije baš da sam shvatio...

metoda je dobra, i postoji na tom mjestu, a string je ok!
 
Odgovor na temu

sanchi
Sanja Jokic
Beograd

Član broj: 148256
Poruke: 104
*.cisco.com.



+8 Profil

icon Re: java.lang.reflect04.10.2007. u 16:32 - pre 201 meseci
Iz toga se nista ne vidi.. Bolje koristi:
e.printStackTrace();
If people were meant to pop out of beds we would all sleep in toasters.
Google is your friend http://justfuckinggoogleit.com/
 
Odgovor na temu

tkojemile
Osijek

Član broj: 158805
Poruke: 14
*.siemens.at.



Profil

icon Re: java.lang.reflect04.10.2007. u 17:17 - pre 201 meseci


Thanks a lot!

Evo prošao sam do klase sada uz stacktrace... :))

a sada tek počinju problemi.

Hvala puno!











 
Odgovor na temu

[es] :: Java :: java.lang.reflect

[ Pregleda: 3381 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.