S
Spacerat
Gast
In der folgenden Methode ist es erforderlich, auf eine bereits instanzierte Klasse (die Klasse,
durch welche die Klasse der aktuellen Methode geladen wurde) zuzugreifen.
Da die Methode nur ohne Parameter aufgerufen werden kann kann auch kein "this" übergeben werden.
Gibt es eine Möglichkeit diese Klasse zu ermitteln und in einem Object zu referenzieren? Z.B. mittels
Reflection oder dem ClassLoader?
Habe zwar schon ein wenig experimentiert (s.O.) aber ich habe weder bei Threads oder Reflections
noch beim ClassLoader eine Lösung gefunden.
durch welche die Klasse der aktuellen Methode geladen wurde) zuzugreifen.
Da die Methode nur ohne Parameter aufgerufen werden kann kann auch kein "this" übergeben werden.
Gibt es eine Möglichkeit diese Klasse zu ermitteln und in einem Object zu referenzieren? Z.B. mittels
Reflection oder dem ClassLoader?
Code:
public void run()
{
PT_Player target = null;
ThreadGroup tg = new Thread().getThreadGroup();
while (tg.getParent() != null) tg = tg.getParent();
Thread[] tr = new Thread[tg.activeCount()];
int num = tg.enumerate(tr);
for (int n =0; n < num; n++) {
boolean test = (tr[n] != null)? true : false;
Object o = tr[n]; //Hier ich könnte ich den Thread.target gebrauchen.
test &= o instanceof PT_Player;
if (test) {
target = (PT_Player) o;
break;
}
}
if (target != null) {
target.Remove(name);
for (int n = 0; n < file.length; n++) target.Add(file[n], alias[n], replays[n]);
}
}
Habe zwar schon ein wenig experimentiert (s.O.) aber ich habe weder bei Threads oder Reflections
noch beim ClassLoader eine Lösung gefunden.