jeudi 4 juin 2015

Klassenreferenz an Library übergeben

Hallo,
heute würde ich gern, daß ein Java-Guru meinen Post
liest und mir eine Antwort auf meine Frage geben kann.

Um nicht bei jeder neuen Javaklasse das Rad neu zu erfinden habe
ich mir eine Library gebaut. Sie funktioniert genau so, wie ich es
mir wünschte.

Nun tritt aber ein Problem auf:
Ich benötige innerhalb einer dieser Libraryklassen die Aufruferklasse,
damit ich aus der Libraryklasse eine Methode der Aufruferklasse starten kann.
Die Libraryklasse liegt ja nicht im gleichen CLASSPATH, also kann sie die
Aufruferklasse nicht kennen. Soweit ist es mir klar.

Mein 1. Versuch innerhalb der Libraryklasse
die Aufruferklasse als Object übergeben und dann
aus diesem Object die aufrufende Klasse zu ermitteln.
Hat aber nicht geklappt.
Java Code:

  1.  
  2. public Xyz( String s, Object ob )
  3. { // Klasse ermitteln ----------
  4. Class<> cl = Class.getClass( ob );
  5. // Klassenmethode aufrufen ---
  6. cl.abc( s + "xyz" );
  7. }


Mein 2. Versuch innerhalb der Libraryklasse
die Aufruferklasse als String übergeben und dann
die Klasse mit Class.forName(s) zu ermitteln.
Hat auch nicht geklappt.
Java Code:

  1.  
  2. public TestClass( String s )
  3. {
  4. try{ Class exampleClass = Class.forName( s );
  5. Object obj = exampleClass.newInstance();
  6. obj.abc( "xyz" );
  7. }
  8. { System.out.println("Klasse nicht gefunden"); }
  9.  
  10. { System.out.println("Klasse nicht instanziiert"); }
  11.  
  12. { System.out.println("illegal Accsess"); }
  13. }


Gibt es dafür eine Lösung?

Gruß GBunge


Klassenreferenz an Library übergeben

0 commentaires:

Enregistrer un commentaire