From bb2648b938722334942a99f3d39cc52b511d2946 Mon Sep 17 00:00:00 2001 From: ulrich <undisclosed> Date: Wed, 20 Nov 2024 14:42:13 +0000 Subject: [PATCH] API-Doku ergaenzt --- 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..a62dc79 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 Klassen sollten mit init(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