commit | author | age
|
aed034
|
1 |
/** |
U |
2 |
* Die Package de.uhilger.neon.fm stellt eine Schnittstelle via HTTP bereit, |
|
3 |
* ueber die Dateien verwaltet werden koennen. In dieser Package sind die |
|
4 |
* Klassen enthalten, die den HTTP-Teil einer solchen Schnittstelle abdecken. |
|
5 |
* |
|
6 |
* Fuer die Ausfuehrung der auf diese Weise via HTTP bereitgestellten Dateioperationen |
|
7 |
* werden die Klassen der Package de.uhilger.fm verwendet. |
|
8 |
* |
516d0b
|
9 |
* Die folgenden HTTP-Aufrufe werden von dieser Package als HTTP-Aufrufe implementiert: |
U |
10 |
* |
aed034
|
11 |
* <pre> |
U |
12 |
* GET (Klasse FileList) |
|
13 |
* - Dateiinhalt ausliefern (URL ohne Slash am Ende) FileContent + FileList |
|
14 |
* - Ordnerinhalt auflisten (URL mit Slash am Ende) FileList |
|
15 |
* |
|
16 |
* PUT (Klasse FileManipulator) |
|
17 |
* - Inhalt einer einzelnen Datei anlegen oder ueberschreiben Writer |
|
18 |
* - Liste mit Dateien kopieren (?copyFrom) Mover |
|
19 |
* - Liste mit Dateien verschieben (?moveFrom) Mover |
|
20 |
* - einzelne Datei duplizieren (?duplicate) Duplicator |
|
21 |
* - einzelne Datei umbenennen (?renameTo) Renamer |
|
22 |
* - Ordner packen (?zip) Deflator |
|
23 |
* - Zip-Datei entpacken (?unzip) Inflator |
|
24 |
* |
|
25 |
* POST (Klasse FileCreator) |
|
26 |
* - Datei neu anlegen, unter neuem Namen, wenn schon existent (URL ohne Slash am Ende) |
|
27 |
* - Ordner anlegen oder Fehler 422, wenn schon existent (URL mit Slash am Ende) |
|
28 |
* |
|
29 |
* DELETE (Klasse FileEraser) |
|
30 |
* - Liste mit Dateien und Ordnern loeschen (rekursiv!) |
|
31 |
* </pre> |
|
32 |
* |
|
33 |
* <p>HTTP-Beispiele</p> |
|
34 |
* |
|
35 |
* <p>HTTP GET fuer eine Datei innerhalb dieses Ordners liefert den Dateiinhalt aus</p> |
|
36 |
* |
|
37 |
* <p>HTTP GET fuer einen Ordner liefert eine Liste von dessen Inhalt in JSON</p> |
|
38 |
* |
|
39 |
* <p>HTTP PUT fuer eine Datei ueberschreibt eine bestehende Datei mit dem im Body |
|
40 |
* uebergebenen Inhalt oder legt eine Datei mit diesem Inhalt an</p> |
|
41 |
* |
|
42 |
* <p>HTTP POST fuer eine Datei legt eine neue Datei mit dem im Body uebergebenen |
|
43 |
* Inhalt an oder erzeugt eine neue Datei mit einer laufenden Nummer, falls |
|
44 |
* diese Datei schon existiert</p> |
|
45 |
* |
|
46 |
* <p>HTTP POST fuer einen Ordner legt einen neuen Ordner an wenn er noch nicht |
|
47 |
* existiert oder erzeugt einen HTTP-Fehler 422</p> |
|
48 |
* |
|
49 |
* <p>HTTP DELETE loescht die Liste der Dateien und Ordner im Body</p> |
|
50 |
* |
|
51 |
* <p>HTTP PUT ?copyFrom=pfad kopiert die Liste der Datei- oder Ordnernamen im Body |
|
52 |
* der Anfrage vom Pfad in 'copyFrom' zum Pfad dieser Anfrage. Jede Datei, die |
|
53 |
* im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer |
|
54 |
* laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der |
|
55 |
* betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden |
|
56 |
* Nummer, dann wird der Quellordner ans Ziel kopiert.</p> |
|
57 |
* |
|
58 |
* <p>HTTP PUT ?moveFrom=pfad verschiebt die Liste der Datei- oder Ordnernamen im |
|
59 |
* Body der Anfrage vom Pfad in 'moveFrom' zum Pfad dieser Anfrage. Jede Datei, |
|
60 |
* die im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer |
|
61 |
* laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der |
|
62 |
* betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden |
|
63 |
* Nummer, dann wird der Quellordner ans Ziel kopiert.</p> |
|
64 |
* |
|
65 |
* <p>HTTP PUT mit ?duplicate legt eine Kopie der Datei an</p> |
|
66 |
* |
|
67 |
* <p>HTTP PUT mit '?renameTo=neuer Name' benennt die Datei oder den Ordner um, |
|
68 |
* sofern der neue Name noch nicht vergeben ist</p> |
|
69 |
* |
|
70 |
* <p>HTTP PUT mit '?zip' packt den Ordner</p> |
|
71 |
* |
|
72 |
* <p>HTTP PUT mit '?unzip' entpackt eine Datei</p> |
|
73 |
* |
|
74 |
* <p>Namenskonventionen:<br> |
|
75 |
* Ein Pfad mit Schraegstrich ('/') am Ende bezeichnet einen Ordner<br> |
|
76 |
* Ein Pfad ohne Schraegstrich ('/') am Ende bezeichnet eine Datei</p> * |
|
77 |
* |
|
78 |
*/ |
|
79 |
package de.uhilger.neon.fm; |