From 0bb2132bf9b51c50bd892ba6de6d89e95c7a36eb Mon Sep 17 00:00:00 2001
From: ulrich
Date: Wed, 13 Nov 2024 17:58:49 +0000
Subject: [PATCH] Dokumentation in Arbeit

---
 src/de/uhilger/fm/Mover.java |   58 ++++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 44 insertions(+), 14 deletions(-)

diff --git a/src/de/uhilger/fm/Mover.java b/src/de/uhilger/fm/Mover.java
index 9cf0574..e3adce5 100644
--- a/src/de/uhilger/fm/Mover.java
+++ b/src/de/uhilger/fm/Mover.java
@@ -1,5 +1,5 @@
 /*
-  neon-fm - File management extensions to Neon
+  fm - File management class library
   Copyright (C) 2024  Ulrich Hilger
 
   This program is free software: you can redistribute it and/or modify
@@ -24,16 +24,34 @@
 import java.nio.file.Path;
 
 /**
- * Eine Klasse mit Methoden zum Kopieren und Verschieben von Dateien
+ * Die Klasse Mover verschiebt und kopiert Dateien und Ordner
+ * 
+ * Handhabung von Bilddateien: 
+ * 
+ * Fuer jede Datei mit Endung jpg, jpeg und png werden alle Varianten wie zum Beispiel 
+ * dateiname.jpg, dateiname_kl.jpg, dateiname_gr.jpg, dateiname_gr_b64.jpg usw. 
+ * beruecksichtigt.
  *
  * @author Ulrich Hilger, 15. Janaur 2024
  */
 public class Mover extends FileHelper {
 
-
-  public String copyOrMoveFiles(String fromPath, String toPath, String[] fileNames, 
+  public static final int OP_COPY = 1;
+  public static final int OP_MOVE = 2;
+  
+  /**
+   * Dateien und Ordner verschieben oder kopieren
+   * 
+   * @param fromPath der Pfad zur Quelle  der Verschiebe- oder Kopieraktion
+   * @param toPath der Pfad zum Ziel der Verschiebe- oder Kopieraktion
+   * @param fileNames die Liste der Dateien und Ordner, die verschoben oder kopiert werden sollen
+   * @param operation die gewuenschte Dateioperation, OP_COPY oder OP_MOVE
+   * @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, 
           int operation, String base) throws IOException {
-    String result = null;
+    //String result = null;
     File srcDir = new File(base, fromPath);
     File targetDir = new File(base, toPath);
     for (String fileName : fileNames) {
@@ -41,7 +59,7 @@
       //logger.fine("srcFile: " + srcFile);
       if (srcFile.isDirectory()) {
         //logger.fine("srcFile is directory.");
-        OrdnerBearbeiter bearbeiter = new OrdnerBearbeiter();
+        FileOpsVisitor bearbeiter = new FileOpsVisitor();
         bearbeiter.setTargetDir(targetDir.toPath());
         bearbeiter.setOperation(operation);
         Files.walkFileTree(srcFile.toPath(), bearbeiter);
@@ -51,12 +69,12 @@
         if (destFile.exists()) {
           destFile = getNewFileName(destFile);
         }
-        if (operation == Const.OP_MOVE) {
+        if (operation == OP_MOVE) {
           String fname = srcFile.getName().toLowerCase();
-          if (fname.endsWith(Const.JPEG)
-                  || fname.endsWith(Const.JPG)
-                  || fname.endsWith(Const.PNG)) {
-            moveImgFilesToDirectory(srcFile, srcDir, targetDir, false);
+          if (fname.endsWith(ImageFileFilter.JPEG)
+                  || fname.endsWith(ImageFileFilter.JPG)
+                  || fname.endsWith(ImageFileFilter.PNG)) {
+            moveImgFilesToDirectory(srcFile, srcDir, targetDir/*, false*/);
           } else {
             Files.move(source, destFile.toPath());
           }
@@ -65,11 +83,23 @@
         }
       }
     }
-    return result;
+    //return result;
   }
 
-  private void moveImgFilesToDirectory(File srcFile, File srcDir, File targetDir, 
-          boolean createDestDir) throws IOException {
+  /**
+   * Eine Bilddatei mit allen Varianten verschieben oder kopieren
+   * 
+   * Fuer jede Datei mit Endung jpg, jpeg und png werden alle Varianten wie zum Beispiel 
+   * dateiname.jpg, dateiname_kl.jpg, dateiname_gr.jpg, dateiname_gr_b64.jpg usw. 
+   * beruecksichtigt, also dateiname*.jpg.
+   * 
+   * @param srcFile die Bilddatei, deren Varianten beruecksichtigt werden sollen
+   * @param srcDir der Herkunftsort
+   * @param targetDir der Zielort
+   * @throws IOException wenn etwas schief geht
+   */
+  private void moveImgFilesToDirectory(File srcFile, File srcDir, File targetDir/*, 
+          boolean createDestDir*/) throws IOException {
     String fnameext = srcFile.getName();
     int dotpos = fnameext.lastIndexOf(".");
     String fname = fnameext.substring(0, dotpos);

--
Gitblit v1.9.3