Persoenliche Mediazentrale
ulrich
2021-04-05 081606e391a352d8117210d731d252dfb43c4b84
commit | author | age
081606 1 /*
U 2  * To change this license header, choose License Headers in Project Properties.
3  * To change this template file, choose Tools | Templates
4  * and open the template in the editor.
5  */
6 package de.uhilger.mediaz.store;
7
8 import de.uhilger.mediaz.entity.Entity;
9 import java.util.List;
10
11 /**
12  * Eine Ablage, die wie folgt organisiert ist
13  * 
14  * [Ort]/[Typ]/[Name]
15  * 
16  * Ort ist der Ablagort, an dem sich die folgende Struktur findet
17  * Typ ist eine der Klassen der Package entity
18  * Name muss identisch mit dem Element laut Entity.getName() sein
19  *
20  * @author Ulrich Hilger
21  * @version 1, 5.4.2021
22  */
23 public interface Storage {
24   
25   /**
26    * Ein Objekt in die Ablage schreiben
27    * @param e das Objekt, das geschrieben werden soll
28    * @return ein Antwortobjekt oder null
29    */
30   public Object write(Entity e);
31   
32   /**
33    * Ein Objekt aus der Ablage lesen
34    * @param typ
35    * @param name
36    * @return das eingelesene Objekt
37    */
38   public Entity read(String typ, String name);
39   
40   /**
41    * Die Namen der Elemente eines gegebenen Typs auflisten
42    * @param typ der gewuenschte Typ
43    * @return die Liste mit Namen
44    */
45   public List<String> list(String typ);
46   
47 }