Hallo Leute,
ich versuche in meinem Plugin eine erst zur Laufzeit bekannt gewordene Klasse nach Annotationen zu durchsuchen. Folgende Annotationsdefinition:
die unbekannte Klasse, hier: Using.java, Using.class, der Name jedoch erst zur Laufzeit bekannt:
der Runner der die unbekannte Klasse ausließt:
Würde mich freuen, wenn jemand einen Tip hätte, wie ich das hier bekannte "Using" durch den erst dynamisch erhaltenen unbekannten Namen, also "String" oder "File" ersetzen könnte. Ich habe quasi schon zur Laufzeit die unbekannte .java Datei und die .class Datei mit Pfad extrahieren können, kriege sie aber nicht ausgelesen.
Ich habe hier noch was gefunden, was ähnlich ist:
https://www.forum-3dcenter.org/vbulletin/showthread.php?t=97453
Danke.
ich versuche in meinem Plugin eine erst zur Laufzeit bekannt gewordene Klasse nach Annotationen zu durchsuchen. Folgende Annotationsdefinition:
Code:
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
@Documented
@Retention(RUNTIME)
@Target({ TYPE, METHOD })
public @interface Base {
String summary();
String description();
}
die unbekannte Klasse, hier: Using.java, Using.class, der Name jedoch erst zur Laufzeit bekannt:
Code:
@Base(summary="summary1234", description="description4321")
public class Using {
}
der Runner der die unbekannte Klasse ausließt:
Code:
import java.io.File;
import java.lang.annotation.Annotation;
public class Runner {
public static void main(String[] args) {
// der Name "Using" ist noch unbekannt,
// bekomme den Namen erst zur Laufzeit, als File bzw. String
// bekomme zur Laufzeit also den real Pfad der existierenden .class und .java Datei
// wie kann ich "Using" ersetzen ?
// brauche quasi sowas in der Art:
// Annotation[] anno = "myUnknownFileString".class.getAnnotations();
Annotation[] anno = Using.class.getAnnotations();
for(int i=0; i<= anno.length-1; i++) {
System.out.println(anno[i]);
}
}
}
Würde mich freuen, wenn jemand einen Tip hätte, wie ich das hier bekannte "Using" durch den erst dynamisch erhaltenen unbekannten Namen, also "String" oder "File" ersetzen könnte. Ich habe quasi schon zur Laufzeit die unbekannte .java Datei und die .class Datei mit Pfad extrahieren können, kriege sie aber nicht ausgelesen.
Ich habe hier noch was gefunden, was ähnlich ist:
https://www.forum-3dcenter.org/vbulletin/showthread.php?t=97453
Danke.