Klassenbiliothek fuer Dateiverwaltung
ulrich
2 days ago e1fae256e29eb7a317d5a810d7e24751eb6032eb
src/de/uhilger/fm/package-info.java
@@ -1,72 +1,37 @@
/**
 * Klassen fuer das Dateimanagement.
 * Klassen fuer das Dateimanagement mit java.nio.file.
 * 
 * Die folgenden Funktionen sind enthalten:
 * 
 * <pre>
 *
 *
 * Dateiinhalt abrufen:
 *    String json = new Lister().liste(ordnerName, ctx, basisOrdner);
 *
 *
 *
 *
 *
 * Ordnerinhalt auflisten:    
 *   GET http://localhost:[port]/[kontext]/pfad/zum/ordner/
 *    Lister().liste(ordnerName, ctx, basisOrdner)
 * 
 * Dateiinhalt aendern (ueberschreiben) oder neu anlegen:
 *   PUT http://localhost:[port]/[kontext]/pfad/zur/datei.txt
 *   Body: Neuer Dateiinhalt
 *   TODO: JSON-Liste und Miniurl sowie Handhabung von Bilddateien ueberpruefen
 * 
 * Datei neu anlegen (ohne Ueberschreiben):
 *   POST http://localhost:[port]/[kontext]/pfad/zur/datei.txt
 *   Body: Dateiinhalt
 *   Erzeugt eine neue Datei mit einer laufenden Nummer, falls
 *   die per URL angegebene Datei schon existiert
 *
 * Ordner anlegen:
 *   POST http://localhost:[port]/[kontext]/pfad/zum/ordner/
 *   erzeugt einen HTTP-Fehler 422, wenn der Ordner schon existiert
 * Datei speichern:
 *    Writer.speichern(file, content)
 * 
 * Dateien und Ordner loeschen:
 *   DELETE http://localhost:[port]/[kontext]/pfad/zum/ordner/
 *   Body: Liste  mit Datei- und Ordnernamen, die aus dem im URL
 *         angegebenen Ordner geloescht werden sollen, z.B. ["test.txt","dok"]
 *         Hiermit werden die Datei test.txt und der Ordner dok geloescht.
 *   Das Loeschen geschieht rekursiv, einschliesslich aller Unterordner
 *    Eraser.deleteFiles(relPfad, dateiname, basis)
 * 
 * Kopieren von Dateien und Ordnern:
 *   PUT http://localhost[port]/[kontext]/pfad/zum/zielordner/?copyFrom=/pfad/zum/quellordner/
 *   Body: Liste mit Datei- und Ordnernamen, die einschliesslich aller Unterordner
 *         kopiert werden sollen, z.B. ["anleitung.adoc","dok","ordner-2","bild.jpg"]
 *    Mover().copyOrMoveFiles(quelle, ziel, dateiNamen, op, base)
 * 
 * Verschieben von Dateien und Ordnern:
 *   PUT http://localhost[port]/[kontext]/pfad/zum/zielordner/?moveFrom=/pfad/zum/quellordner/
 *   Body: Liste mit Datei- und Ordnernamen, die einschliesslich aller Unterordner
 *         verschoben werden sollen, z.B. ["anleitung.adoc","dok","ordner-2","bild.jpg"]
 *    Mover().copyOrMoveFiles(quelle, ziel, dateiNamen, op, base)
 * 
 * Duplizieren einer Datei:
 *   PUT http://localhost:[port]/[kontext]/pfad/zur/datei.txt?duplicate=true
 *    Duplicator().duplizieren(base, fileName)
 * 
 * Umbenennen einer Datei oder eines Ordners:
 *   PUT http://localhost:[port]/[kontext]/pfad/zur/datei.txt?renameTo=neuer-name.txt
 *   PUT http://localhost:[port]/[kontext]/pfad/zum/ordner/?renameTo=neuer-ordnername
 *   Das Umbenennen erfolgt nur, wenn am betreffenden Ort eine Datei bzw. ein Ordner
 *   mit dem neuen Namen noch nicht existiert.
 *    Renamer().umbenennen(exchange, fileName, params[1], file)
 * 
 * Packen eines Ordners:
 *   PUT http://localhost:[port]/[kontext]/pfad/zum/archiv/packdaten/?zip
 *   Packt (komprimiert) den Ordner mitsamt Inhalt. Mit obigem URL liegt
 *   anschliessend im Ordner 'archiv' eine Datei 'packdaten.zip'.
 *    Deflator().packFolder(fileName, path, base)
 * 
 * Entpacken einer ZIP-Datei:
 *   PUT http://localhost:[port]/[kontext]/pfad/zu/dateien/archiv.zip?unzip
 *   Entpackt die im URL angegebene Datei. Mit obigem URL liegt anschliessend
 *   der Inhalt der Datei 'archiv.zip' im Ordner 'dateien'.
 *
 *
 *    Inflator().extractZipfile(fileName, path, base)
 * </pre>
 */
package de.uhilger.fm;