From 2b5c60f130bf5d6e0ad4521d327b81947cd2eab7 Mon Sep 17 00:00:00 2001 From: ulrich Date: Mon, 05 Apr 2021 13:42:39 +0000 Subject: [PATCH] Alle Faelle (Liste, Neu, Lesen, Aendern, Loeschen) fuer Ablageort fertig --- src/de/uhilger/mediaz/store/Storage.java | 42 ++++++++++++++++++++++++++++++++++++++---- 1 files changed, 38 insertions(+), 4 deletions(-) diff --git a/src/de/uhilger/mediaz/store/Storage.java b/src/de/uhilger/mediaz/store/Storage.java index 8e66c8a..1f8d95c 100644 --- a/src/de/uhilger/mediaz/store/Storage.java +++ b/src/de/uhilger/mediaz/store/Storage.java @@ -1,21 +1,50 @@ /* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. + Mediazentrale - Personal Media Center + Copyright (C) 2021 Ulrich Hilger + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. */ package de.uhilger.mediaz.store; +import com.google.gson.reflect.TypeToken; import de.uhilger.mediaz.entity.Entity; import java.util.List; /** - * Eine Ablage, die wie folgt organisiert ist + * Eine Ablage fuer serialisierte Objekte, die wie folgt organisiert ist * * [Ort]/[Typ]/[Name] * * Ort ist der Ablagort, an dem sich die folgende Struktur findet * Typ ist eine der Klassen der Package entity * Name muss identisch mit dem Element laut Entity.getName() sein + * + * Einzelne Objekte werden nach JSON serialisiert und in Dateien oder je nach + * Typ der Storage aehnliche 'Behaeltnisse' geschrieben. Die Dateinamen werden + * ohne Dateierweiterung geschrieben. + * + * In einer Gruppe identischer Typen muss jede Entitaet eindeutig benannt sein. + * Als weitere Konvention soll jede Entitaet nur Buchstaben, Zahlen + * oder Bindestrich (-) im Namen enthalten. + * + * Erlaubter-1-Name-123<br> + * <br> + * Nicht-erlaubter-Name.1-4 (Punkt)<br> + * Nicht erlaubt (Leerzeichen)<br> + * AuchNicht?erlaubt (Fragezeichen)<br> + * Ebenfalls&verboten (&)<br> + * usw. * * @author Ulrich Hilger * @version 1, 5.4.2021 @@ -37,6 +66,8 @@ */ public Entity read(String typ, String name); + public String readJson(String typ, String name); + /** * Die Namen der Elemente eines gegebenen Typs auflisten * @param typ der gewuenschte Typ @@ -44,4 +75,7 @@ */ public List<String> list(String typ); + public TypeToken typeFromName(String name); + + public boolean delete(String typ, String name); } -- Gitblit v1.9.3