Ultrakompakter HTTP Server
ulrich
2024-12-01 12fdfa4c6bd2515e142a996673489cfdd656cb0a
src/de/uhilger/neon/Scanner.java
@@ -35,8 +35,10 @@
import java.util.zip.ZipFile;
/**
 * Die Klasse Scanner enthaelt Methoden, um fuer eine Klasse zu bestimmen, in welcher JAR-Datei sie
 * liegt und diese JAR-Datei nach Klassen zu durchsuchen.
 * Die Klasse Scanner enthaelt Methoden, um fuer eine Klasse zu bestimmen, an welchem Ablageort sie
 * sich befindet und diesen Ort nach Klassen zu durchsuchen, die eine gegebene Annotation besitzen.
 *
 * Der Ort fur Klassen kann ein Java-Archiv (.jar) oder ein Ordner im Dateisystem sein.
 *
 * @author Ulrich Hilger
 * @version 0.1, 30.11.2024
@@ -50,12 +52,10 @@
  private final ClassLoader urlCL;
  /**
   * Einen Scanner erzeugen, der den Ort,
   * in dem sich eine gegebene Klasse befindet, nach Klassen
   * Einen Scanner erzeugen, der den Ort, in dem sich eine gegebene Klasse befindet, nach Klassen
   * durchsucht, die eine bestimmte Annotation besitzen
   * 
   * Der Ort fur Klassen kann ein Java-Archiv (.jar) oder ein Ordner
   * im Dateisystem sein.
   * Der Ort fur Klassen kann ein Java-Archiv (.jar) oder ein Ordner im Dateisystem sein.
   *
   * @param c eine Klasse die sich im Archiv befindet, das durchsucht werden soll
   * @param annotation die Annotation, nach der gesucht wird
@@ -74,9 +74,9 @@
  /**
   * Klassen suchen, die die dem Konstruktor gegebene Annotation besitzen.
   * 
   * Anhand der im Konstruktor uebergebenen Klasse wird deren Ablageort ermittelt, entweder
   * ein Ordner im Dateisystem oder ein Java-Archiv (.jar). Dieser Ablageort wird dann
   * nach annotierten Klassen durchsucht. Gefundene Klassen werden dem Listener gemeldet.
   * Anhand der im Konstruktor uebergebenen Klasse wird deren Ablageort ermittelt, entweder ein
   * Ordner im Dateisystem oder ein Java-Archiv (.jar). Dieser Ablageort wird dann nach annotierten
   * Klassen durchsucht. Gefundene Klassen werden dem Listener gemeldet.
   *
   * @param packageName Name der Package, die einschl. Unterpackages durchsucht wird, nur Klassen
   * dieser Package und ihrer Unterpackages werden geladen und auf die Anotation ueberprueft
@@ -84,7 +84,6 @@
   * @param h der Handler, dem die gefundene Klasse hinzugefuegt werden soll
   * @param contextName Name des Kontext, dem gefundene Klassen hinzugefuegt werden sollen
   */
  public void process(ScannerListener l, String packageName, Handler h, String contextName) {
    if (isJar()) {
      processZipContent(packageName, l, h, contextName);
@@ -263,6 +262,7 @@
  }
  public interface ScannerListener {
    public void annotationFound(Class foundClass, Handler h, String contextName);
  }
}