Klassenbiliothek fuer Dateiverwaltung
ulrich
2 days ago 0bb2132bf9b51c50bd892ba6de6d89e95c7a36eb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/**
 * Klassen fuer das Dateimanagement. 
 * 
 * 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/
 * 
 * Dateiinhalt aendern (ueberschreiben) oder neu anlegen:       
 *   PUT http://localhost:[port]/[kontext]/pfad/zur/datei.txt  
 *   Body: Neuer Dateiinhalt
 * 
 * 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
 * 
 * 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
 * 
 * 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"]
 * 
 * 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"]
 * 
 * Duplizieren einer Datei:
 *   PUT http://localhost:[port]/[kontext]/pfad/zur/datei.txt?duplicate=true
 * 
 * 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.
 * 
 * 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'.
 * 
 * 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'.
 * 
 * 
 * </pre>
 */
package de.uhilger.fm;