From 12fdfa4c6bd2515e142a996673489cfdd656cb0a Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 01 Dec 2024 17:17:55 +0000
Subject: [PATCH] Kommantare ergaenzt

---
 src/de/uhilger/neon/Scanner.java |   37 ++++++++++++++++++++++++++++++++-----
 1 files changed, 32 insertions(+), 5 deletions(-)

diff --git a/src/de/uhilger/neon/Scanner.java b/src/de/uhilger/neon/Scanner.java
index 01ad324..8efdec0 100644
--- a/src/de/uhilger/neon/Scanner.java
+++ b/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,8 +52,10 @@
   private final ClassLoader urlCL;
 
   /**
-   * Einen Scanner erzeugen, der das Archiv, 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.
    *
    * @param c eine Klasse die sich im Archiv befindet, das durchsucht werden soll
    * @param annotation die Annotation, nach der gesucht wird
@@ -67,6 +71,19 @@
     return annotation;
   }
 
+  /**
+   * 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.
+   *
+   * @param packageName Name der Package, die einschl. Unterpackages durchsucht wird, nur Klassen
+   * dieser Package und ihrer Unterpackages werden geladen und auf die Anotation ueberprueft
+   * @param l ein Objekt, das verstaendigt wird, wenn eine annotierte Klasse gefunden wurde
+   * @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);
@@ -85,7 +102,7 @@
    * @param h der Handler, dem die gefundene Klasse hinzugefuegt werden soll
    * @param contextName Name des Kontext, dem gefundene Klassen hinzugefuegt werden sollen
    */
-  public void processZipContent(String packageName, ScannerListener l, Handler h, String contextName) {
+  private void processZipContent(String packageName, ScannerListener l, Handler h, String contextName) {
     try {
       ZipFile zipfile = new ZipFile(new File(path));
       Enumeration en = zipfile.entries();
@@ -135,8 +152,17 @@
     }
   }
 
+  /**
+   * Einen Ordner mit Klassen durchsuchen
+   *
+   * @param packageName Name der Package, die einschl. Unterpackages durchsucht wird, nur Klassen
+   * dieser Package und ihrer Unterpackages werden geladen und auf die Anotation ueberprueft
+   * @param l ein Objekt, das verstaendigt wird, wenn eine annotierte Klasse gefunden wurde
+   * @param h der Handler, dem die gefundene Klasse hinzugefuegt werden soll
+   * @param contextName Name des Kontext, dem gefundene Klassen hinzugefuegt werden sollen
+   */
   @SuppressWarnings("unchecked")
-  public void processClasses(ScannerListener l, String packageName, Handler h, String contextName) {
+  private void processClasses(ScannerListener l, String packageName, Handler h, String contextName) {
     ClassLoader cl = getCl();
     InputStream stream = cl.getResourceAsStream(packageName.replaceAll("[.]", "/"));
     BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
@@ -236,6 +262,7 @@
   }
 
   public interface ScannerListener {
+
     public void annotationFound(Class foundClass, Handler h, String contextName);
   }
 }
\ No newline at end of file

--
Gitblit v1.9.3