From b3d917571a5f952531ce3e060861e1a158bc04c7 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Tue, 19 Nov 2024 17:25:47 +0000
Subject: [PATCH] Dokumentation in Arbeit: FileCreator fertig dokumentiert, kleinere Anpassungen

---
 src/de/uhilger/neon/fm/AbstractFileActor.java |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 44 insertions(+), 1 deletions(-)

diff --git a/src/de/uhilger/neon/fm/AbstractFileActor.java b/src/de/uhilger/neon/fm/AbstractFileActor.java
index ecf0d6d..8350174 100644
--- a/src/de/uhilger/neon/fm/AbstractFileActor.java
+++ b/src/de/uhilger/neon/fm/AbstractFileActor.java
@@ -41,13 +41,30 @@
   protected HttpHelper h;
   protected String base;
 
-  public void run(HttpExchange exchange) {
+  /**
+   * Hilfsmittel bereitstellen, die beim Ausfuehren eines Actors fuer Dateioperationen 
+   * immer benoetigt werden. 
+   * 
+   * Von dieser Klasse abgeleitete Actos sollten mit super.run(exchange) stets diese 
+   * Methode ausfuehren.
+   * 
+   * @param exchange Infos zu HTTP Request, -Response, Kontext usw.
+   */
+  protected void init(HttpExchange exchange) {
     base = exchange.getHttpContext().getAttributes().get(FileServer.ATTR_FILE_BASE).toString();
     h = new HttpHelper();
     fileName = h.getFileName(exchange);
     file = new File(base, fileName);
   }
 
+  /**
+   * Eine Dateiliste als String Array aus einer Dateiliste im JSON-Format 
+   * erzeugen, die aus dem HTTP-Request-Body gelesen wurde
+   * 
+   * @param exchange  Infos zu HTTP Request, -Response, Kontext usw.
+   * @return  die Dateiliste als String Array
+   * @throws IOException wenn etwas schief geht
+   */
   protected String[] dateiliste(HttpExchange exchange) throws IOException {
     String body = h.bodyLesen(exchange);
     //logger.fine("dateien: " + body);
@@ -55,6 +72,14 @@
     return gson.fromJson(body, String[].class);
   }
 
+  /**
+   * Den Body eines HTTP Request in eine Datei schreiben
+   * 
+   * TODO das evtl. noch in java.nio.file ueberfuehren..
+   * 
+   * @param e  Infos zu HTTP Request, -Response, Kontext usw.
+   * @throws IOException  wenn etwas schief geht
+   */
   protected void speichern(HttpExchange e) throws IOException {
     String body = h.bodyLesen(e);
     if (new Writer().speichern(file, body) == 0) {
@@ -64,6 +89,12 @@
     }
   }
 
+  /**
+   * Eine Fehler-Antwort als HTTP Status Code 401 not found senden
+   * 
+   * @param exchange Infos zu HTTP Request, -Response, Kontext usw.
+   * @param ex der aufgetretene Fehler
+   */
   protected void fehlerAntwort(HttpExchange exchange, Exception ex) {
     try {
       Logger.getLogger(AbstractFileActor.class.getName()).log(Level.SEVERE, ex.getMessage(), ex);
@@ -73,10 +104,22 @@
     }
   }
 
+  /**
+   * Eine Antwort als HTTP Response senden
+   * 
+   * @param exchange Infos zu HTTP Request, -Response, Kontext usw.
+   * @param code  HTTP Status code fuer die Antwort
+   * @param text  Inhalt der Antwort
+   * @throws IOException  wenn etwas schif geht
+   */
   protected void antwort(HttpExchange exchange, int code, String text) throws IOException {
     new HttpResponder().antwortSenden(exchange, code, text);
   }
 
+  /**
+   * Die Zeiger auf die von einer Instanz dieser abstrakten Basisklasse 
+   * erzeugten Objekte wieder frei geben
+   */
   protected void free() {
     file = null;
     fileName = null;

--
Gitblit v1.9.3