From 14367e34df8bba89446eeaa878300e255b6f9c0a Mon Sep 17 00:00:00 2001
From: ulrich
Date: Thu, 14 Nov 2024 11:25:58 +0000
Subject: [PATCH] Dokumentation in Arbeit: Mover fertig dokumentiert, kleinere Anpassungen

---
 src/de/uhilger/fm/Deflator.java     |    5 ++---
 src/de/uhilger/fm/Mover.java        |   32 ++++++++++++++++++++++++++++++--
 src/de/uhilger/fm/package-info.java |    4 ++--
 3 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/src/de/uhilger/fm/Deflator.java b/src/de/uhilger/fm/Deflator.java
index 1551c8c..1b1fbf8 100644
--- a/src/de/uhilger/fm/Deflator.java
+++ b/src/de/uhilger/fm/Deflator.java
@@ -40,9 +40,8 @@
    * gepackt werden soll. Die Datei mit dem gepackten Ordnerinhalt wird in dem Ordner angelegt, der
    * den zu packenden Ordner enthaelt.
    *
-   * @param fName Name und Pfad relativ zu base des zu packenden Ordners  /home/neu-2024-11-08-1722/
-   * @param relPath relativer Pfad zum Ordner, der gepackt werden soll  /h2/cms/home/neu-2024-11-08-1722/?zip
-   * @param base  /Users/ulli/data/helix-data
+   * @param fName Name und Pfad relativ zu base des zu packenden Ordners
+   * @param base  absoluter Pfad zum Ablageort des zu packenden Ordners 
    * @return die Meldung mit dem Ergebnis. Wenn die Meldung nicht "ok" lautet wurde die ZIP-Datei
    * nicht erzeugt und die Meldung nennt den Grund.
    */
diff --git a/src/de/uhilger/fm/Mover.java b/src/de/uhilger/fm/Mover.java
index e3adce5..e92aac7 100644
--- a/src/de/uhilger/fm/Mover.java
+++ b/src/de/uhilger/fm/Mover.java
@@ -24,7 +24,7 @@
 import java.nio.file.Path;
 
 /**
- * Die Klasse Mover verschiebt und kopiert Dateien und Ordner
+ * Verschieben und Kopieren von Dateien und Ordnern
  * 
  * Handhabung von Bilddateien: 
  * 
@@ -40,6 +40,34 @@
   public static final int OP_MOVE = 2;
   
   /**
+   * Dateien und Ordner kopieren
+   * 
+   * @param fromPath der Pfad zur Quelle  der Kopieraktion
+   * @param toPath der Pfad zum Ziel der Kopieraktion
+   * @param fileNames die Liste der Dateien und Ordner, die kopiert werden sollen
+   * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
+   * @throws IOException wenn etwas schief geht
+   */
+  public void copy(String fromPath, String toPath, String[] fileNames, String base) 
+          throws IOException {
+    copyOrMoveFiles(fromPath, toPath, fileNames, OP_COPY, base);
+  }
+  
+  /**
+   * Dateien und Ordner verschieben
+   * 
+   * @param fromPath der Pfad zur Quelle  der Verschiebeaktion
+   * @param toPath der Pfad zum Ziel der Verschiebeaktion
+   * @param fileNames die Liste der Dateien und Ordner, die verschoben werden sollen
+   * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
+   * @throws IOException wenn etwas schief geht
+   */
+  public void move(String fromPath, String toPath, String[] fileNames, String base) 
+          throws IOException {
+    copyOrMoveFiles(fromPath, toPath, fileNames, OP_MOVE, base);    
+  }
+  
+  /**
    * Dateien und Ordner verschieben oder kopieren
    * 
    * @param fromPath der Pfad zur Quelle  der Verschiebe- oder Kopieraktion
@@ -49,7 +77,7 @@
    * @param base der Basispfad, gegen den fromPath und toPath aufgeloest werden sollen
    * @throws IOException wenn etwas schief geht
    */
-  public void copyOrMoveFiles(String fromPath, String toPath, String[] fileNames, 
+  private void copyOrMoveFiles(String fromPath, String toPath, String[] fileNames, 
           int operation, String base) throws IOException {
     //String result = null;
     File srcDir = new File(base, fromPath);
diff --git a/src/de/uhilger/fm/package-info.java b/src/de/uhilger/fm/package-info.java
index aa832be..775295c 100644
--- a/src/de/uhilger/fm/package-info.java
+++ b/src/de/uhilger/fm/package-info.java
@@ -36,8 +36,8 @@
  * Dies ist beabsichtigt, um Pfadausdruecke wie z.B. '../' bei den hier implementierten 
  * Dateioperationen verarbeiten zu koennen. 
  * 
- * <b>Programme, die diese Klassenbibliothek einsetzen, muessen eigene Massnahmen gegen 
- * Path Traversal o.&auml;. beisteuern, sofern dies nicht gewuenscht ist.</b>
+ * <p><b>Programme, die diese Klassenbibliothek einsetzen, muessen eigene Massnahmen gegen 
+ * Path Traversal o.&auml;. vorschalten, sofern dies nicht gewuenscht ist.</b></p>
  * 
  * <p>Die folgenden Funktionalitaeten sind in dieser Auspraegung einer  
  * Dateiverwaltung fest angelegt. Sie sind damit Kandidaten fuer eine 

--
Gitblit v1.9.3