/**
|
* Die Package de.uhilger.neon.fm stellt eine Schnittstelle via HTTP bereit,
|
* ueber die Dateien verwaltet werden koennen. In dieser Package sind die
|
* Klassen enthalten, die den HTTP-Teil einer solchen Schnittstelle abdecken.
|
*
|
* Fuer die Ausfuehrung der auf diese Weise via HTTP bereitgestellten Dateioperationen
|
* werden die Klassen der Package de.uhilger.fm verwendet.
|
*
|
* <pre>
|
* GET (Klasse FileList)
|
* - Dateiinhalt ausliefern (URL ohne Slash am Ende) FileContent + FileList
|
* - Ordnerinhalt auflisten (URL mit Slash am Ende) FileList
|
*
|
* PUT (Klasse FileManipulator)
|
* - Inhalt einer einzelnen Datei anlegen oder ueberschreiben Writer
|
* - Liste mit Dateien kopieren (?copyFrom) Mover
|
* - Liste mit Dateien verschieben (?moveFrom) Mover
|
* - einzelne Datei duplizieren (?duplicate) Duplicator
|
* - einzelne Datei umbenennen (?renameTo) Renamer
|
* - Ordner packen (?zip) Deflator
|
* - Zip-Datei entpacken (?unzip) Inflator
|
*
|
* POST (Klasse FileCreator)
|
* - Datei neu anlegen, unter neuem Namen, wenn schon existent (URL ohne Slash am Ende)
|
* - Ordner anlegen oder Fehler 422, wenn schon existent (URL mit Slash am Ende)
|
*
|
* DELETE (Klasse FileEraser)
|
* - Liste mit Dateien und Ordnern loeschen (rekursiv!)
|
* </pre>
|
*
|
* <p>HTTP-Beispiele</p>
|
*
|
* <p>HTTP GET fuer eine Datei innerhalb dieses Ordners liefert den Dateiinhalt aus</p>
|
*
|
* <p>HTTP GET fuer einen Ordner liefert eine Liste von dessen Inhalt in JSON</p>
|
*
|
* <p>HTTP PUT fuer eine Datei ueberschreibt eine bestehende Datei mit dem im Body
|
* uebergebenen Inhalt oder legt eine Datei mit diesem Inhalt an</p>
|
*
|
* <p>HTTP POST fuer eine Datei legt eine neue Datei mit dem im Body uebergebenen
|
* Inhalt an oder erzeugt eine neue Datei mit einer laufenden Nummer, falls
|
* diese Datei schon existiert</p>
|
*
|
* <p>HTTP POST fuer einen Ordner legt einen neuen Ordner an wenn er noch nicht
|
* existiert oder erzeugt einen HTTP-Fehler 422</p>
|
*
|
* <p>HTTP DELETE loescht die Liste der Dateien und Ordner im Body</p>
|
*
|
* <p>HTTP PUT ?copyFrom=pfad kopiert die Liste der Datei- oder Ordnernamen im Body
|
* der Anfrage vom Pfad in 'copyFrom' zum Pfad dieser Anfrage. Jede Datei, die
|
* im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer
|
* laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der
|
* betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden
|
* Nummer, dann wird der Quellordner ans Ziel kopiert.</p>
|
*
|
* <p>HTTP PUT ?moveFrom=pfad verschiebt die Liste der Datei- oder Ordnernamen im
|
* Body der Anfrage vom Pfad in 'moveFrom' zum Pfad dieser Anfrage. Jede Datei,
|
* die im Ziel bereits existiert, bekommt im Ziel einen neuen Namen mit einer
|
* laufenden Nummer. Bei Ordnern, die im Ziel bereits existieren, bekommt der
|
* betreffende Ordner im Ziel zunaechst einen neuen Namen mit einer laufenden
|
* Nummer, dann wird der Quellordner ans Ziel kopiert.</p>
|
*
|
* <p>HTTP PUT mit ?duplicate legt eine Kopie der Datei an</p>
|
*
|
* <p>HTTP PUT mit '?renameTo=neuer Name' benennt die Datei oder den Ordner um,
|
* sofern der neue Name noch nicht vergeben ist</p>
|
*
|
* <p>HTTP PUT mit '?zip' packt den Ordner</p>
|
*
|
* <p>HTTP PUT mit '?unzip' entpackt eine Datei</p>
|
*
|
* <p>Namenskonventionen:<br>
|
* Ein Pfad mit Schraegstrich ('/') am Ende bezeichnet einen Ordner<br>
|
* Ein Pfad ohne Schraegstrich ('/') am Ende bezeichnet eine Datei</p> *
|
*
|
*/
|
package de.uhilger.neon.fm;
|